2016-05-18 43 views
2

我想使用SQL Azure作为ASP.NET MVC应用程序的数据库。我抬起头,这是此页面上列出的Azure的SQL数据库资源限制:https://azure.microsoft.com/en-us/documentation/articles/sql-database-resource-limits/SQL Azure最大并发会话数

我有几个问题:

  1. 列出的其中一个指标是“最大并发会话”。如果我理解正确,这是指一次可以登录的最大用户数。因此,如果我有一个使用Forms身份验证的ASP MVC网站,用户将存储在SQL Azure的AspNetUsers表中),并且有2,000个登录用户同时主动使用网站,这是否意味着我有2,000个并发会话?

  2. 用户可能永远不会注销并关闭浏览器。如果存储在浏览器中的认证cookie不会过期,那么他们下次访问该网站时不需要再次登录。这是否意味着即使他没有使用网站,个人也会一直占用整个会话,仅仅是因为他没有注销?

  3. 目前可以容纳最大并发会话数的数据库是Premium P11数据库。它可以容纳最多32,000个并发会话。这看起来像一个非常小的数字。有许多网站和应用程序有成千上万的用户同时登录。如果我们的网站需要有50,000个用户同时登录并积极使用该网站会怎么样?这是否意味着我们不能使用SQL Azure? (这听起来不正确的给我,这使我相信我的并发会话的完整理解是不正确的)

回答

4

SQL服务器(和SQL数据库)会议上什么都没有做与你的应用程序的用户会话,并没有什么与您的最终用户注销有关。

SQL会话与连接构造有关,所以基本上,您的应用层有一组到SQL数据库的连接(可能有一个,也许有一些 - 取决于您构建应用程序的方式,运行了多少实例等)。有些会话与这些连接相关联。

因此......您对32,000个会话的评价是低数字:这不是32,000个用户。它在您的应用服务器和数据库之间创建了32,000个连接。

+0

感谢您清理大卫。我怀疑我误解了它的工作原理,但需要知道他们在谈论什么的人的确认。纯粹出于好奇,在现实生活中,有人需要在应用程序和数据库之间建立32,000个连接?我怀疑有人会扩展到30K的Web应用程序实例。将单独的软件安装连接到数据库而不是通过应用程序层不是不好的做法吗?同时我会将此标记为正确答案。 – Gary