我想使用SQL Azure作为ASP.NET MVC应用程序的数据库。我查找了此页面上列出的Azure SQL数据库资源限制:https://azure.microsoft.com/en-us/documentation/articles/sql-database-resource-limits/
我有几个问题:
列出的指标之一是"最大并发会话数"。如果我理解正确,这是指一次可以登录的最大用户数。所以,如果我有一个使用Forms身份验证的ASP MVC网站,那么用户将存储在SQL Azure上的AspNetUsers表中,并且2,000个登录用户同时正在积极使用该网站,这是否意味着我有2,000个并发会话?
用户可能永远不会注销,只需关闭浏览器即可。如果存储在浏览器中的身份验证Cookie未过期,则下次访问该网站时,他们无需再次登录。这是否意味着个人整个时间都在占用会议,即使他没有使用网站,只是因为他没有注销?
目前,可以容纳最大并发会话数的数据库是Premium P11数据库。它可以容纳32,000个最大并发会话。这似乎是一个非常小的数字。有许多网站和应用程序同时有数十万用户登录。如果我们的网站需要有50,000名用户同时登录并积极使用该网站,该怎么办?这是否意味着我们无法使用SQL Azure? (这对我来说听起来不对,这让我相信我对并发会话的理解是不正确的)
答案 0 :(得分:5)
SQL Server(和SQL数据库)会话与您的应用程序的用户会话无关,与最终用户是否注销无关。
SQL会话与连接构造有关,所以基本上你的应用层有一组与SQL数据库的连接(可能是一个,也许是几个 - 取决于你构建应用程序的方式,运行的实例数等等。 )。有与这些连接相关的会话。
所以...你对32,000个会话数量较少的评论:它不是32,000个用户。它在您的应用服务器和数据库之间创建了32,000个连接。