Azure sql DB中的最大池大小与并发登录

时间:2017-08-14 11:53:50

标签: azure asp.net-web-api azure-sql-database

我得到以下异常:

  

超时已过期。从池中获取连接之前经过的超时时间。这可能是因为所有池连接都在使用中并且达到了最大池大小。

我已将最大池大小指定为500.如果我的计划支持的max concurent登录次数较少,它是否会失效?因此,如果我使用S1计划并且仅支持90个并发登录。

即使最大池大小为500,第91次登录也会导致web api停止工作。我在近500台设备上运行了一个服务,它调用了这个azure web api(我已经设置了最大池大小为500)。此Web api连接到azure DB。请帮我理解。

1 个答案:

答案 0 :(得分:3)

您的Azure SQL数据库计划规定了最大并发登录次数和会话次数。您不能在应用程序的任何位置覆盖它。原因是当您创建数据库并为其制定计划时,Microsoft需要为您的数据库提供最低性能标准。因此,他们需要确保Azure内部的基础SQL服务器上有空间可以处理这个问题。如果您在应用程序端进行更改,Microsoft将无法准确预测性能。

您需要转到支持并发登录数量的更高数据库层,或者您需要使用更新的功能Elastic Pools,这允许您将数据库配置为根据需要动态扩展,然后缩小规模。根据您的情况,这可能比仅仅更高的数据库层更便宜。