如何缩放SQL天蓝色?

| 出于可伸缩性原因,我想在Azure云中托管WCF服务。例如,将执行一些读取数据操作。它将处于高负载(1000+用户/秒)下。 (就像我之前的问题一样) 另外,我对任何请求的超时限制都为1秒。 我的服务将与SQL Azure连接。我之所以选择它是因为延迟小(根据Microsoft的基准测试,不超过7毫秒) 每个实例/数据库有多少个并发连接可以容纳SQL Azure? 当我达到每个实例的连接限制时,是否可以扩展SQL Azure? 其他解决方案,我的方案的选择? 谢谢。     
已邀请:
要记住的一件事是,您将需要确保将连接池最大化。使用服务帐户而不是不同的登录名是确保正确连接池的重要步骤。 另一个考虑因素是使用MARS。如果有很多请求通过,则可能需要将它们合并到一个请求中,从而成为一个连接,并返回多个结果集。在本文中,我将讨论如何实现SQL语句的单向排队。这可能对您原样不起作用,因为您可能期望得到响应,但是它可能为您提供一些有关如何实现一批请求的想法,以最大程度地减少连接数并缩短等待时间。 最后,您可以看一下我去年编写的用于针对SQL Azure测试连接/语句的工具。该工具会自动关闭连接池以测量并发效果。你可以在这里下载。 最后,我还在codeplex上编写了Enzo Shard库。如果您有任何疑问要决定对项目的库进行调查,请告诉我。请注意,该库将不断发展以支持SQL Azure数据联合会的未来功能。     
似乎每个SQL Azure实例的可用连接数没有直接限制,但是Microsoft声明在资源使用被视为“过多”的情况下,它们保留限制连接的权利。 这里有一些信息,这里还详细介绍了这种情况下可能发生的情况。 一个好的解决方法是考虑“分片”,在该处,您可以根据一些易于定义的条件对数据进行分区,并具有多个数据库。当然,这确实需要额外的费用。整齐的实现在这里:http://enzosqlshard.codeplex.com/ 另外:Azurescope在这里有一些有趣的基准:http://azurescope.cloudapp.net/BestPractices/#ed6a21ed-ad51-4b47-b69c-72de21776f6a(不幸的是,于2012年初删除)     
  当我达到每个实例的连接限制时,是否可以扩展SQL Azure? 除了Enzo sql分片建议外,还有一些Microsoft产品/功能正在构建中,以帮助扩展SQL Azure。这些是CTP(最好),但是通过允许您将负载分散到多个SQL Azure数据库中,可以为您提供一些可伸缩性选项: SQL Azure联盟-http://convective.wordpress.com/2011/05/02/sql-azure-federations/ SQL Azure数据同步http://www.microsoft.com/windowsazure/sqlazure/datasync/     
除了Jeremy的答案外,请在此处查看SQL Azure连接约束信息。     

要回复问题请先登录注册