【问题标题】:SQL Azure maximum concurrent sessionsSQL Azure 最大并发会话数
【发布时间】:2016-05-18 21:32:59
【问题描述】:

我想使用 SQL Azure 作为 ASP.NET MVC 应用程序的数据库。我查看了此页面上列出的 Azure SQL 数据库资源限制:https://azure.microsoft.com/en-us/documentation/articles/sql-database-resource-limits/

我有几个问题:

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

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

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

【问题讨论】:

    标签: asp.net-mvc azure azure-sql-database


    【解决方案1】:

    SQL Server(和 SQL 数据库)会话与应用程序的用户会话无关,与最终用户是否注销无关。

    SQL 会话与连接构造相关,因此基本上您的应用层有一组与 SQL 数据库的连接(可能一个,也可能几个 - 取决于您构建应用的方式、正在运行的实例数量等。 )。有与这些连接相关的会话。

    所以...您关于 32,000 个会话的评论是一个低数字:不是 32,000 个用户。在您的应用服务器和数据库之间创建了 32,000 个连接。

    【讨论】:

    • 感谢大卫澄清此事。我怀疑我误解了它的工作原理,但需要知道他们在说什么的人确认。纯粹出于好奇,在现实生活中,应用程序和数据库之间何时需要 32,000 个连接?我怀疑任何人都会将 Web 应用程序扩展到 30K 实例。将单个软件安装连接到数据库而不是通过应用程序层不是不好的做法吗?同时,我会将其标记为正确答案。
    • 任何人都知道 azure DTU 中的“最大并发工作人员(请求)”和“最大并发会话数”是什么
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 2019-08-02
    • 2015-05-18
    • 1970-01-01
    • 2021-03-18
    • 1970-01-01
    • 2019-05-17
    相关资源
    最近更新 更多