达到Azure SQL Server最大池大小错误

Sha*_*sim 5 sql-server azure azure-storage azure-sql-database

我们拥有azure sql服务器,同时连接40多个并发用户时,我们遇到以下错误。

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

在执行负载测试时,我们得到了错误。我们使用工具([ http://www.datamanipulation.net/sqlquerystress/][1]直接执行存储过程。对于单个用户,存储过程将在1秒内返回结果。

天蓝色的硬件详细信息为“标准服务级别”和s2(50DTU)性能级别。数据库大小为705 MB。

我们正在本地PC中还原相同的数据库。在本地,我们正在使用SQL Server 2014 Express Edition。使用此工具,我们成功连接了200个用户。

如何在Azure中实现200个并发用户?感谢您提出宝贵意见。

Sir*_*thi 5

  1. 这些查询必须在 SQL DB 中运行足够长的时间,以便连接耗尽。查看 sys.dm_exeC_requests 和/或 sys.dm_exec_connections 以查看为 40 个用户测试打开了多少个。缓慢的查询也可能是因为您在 S2 层上遇到了资源限制。查看 sys.resource_stats 视图,看看您是否达到了任何资源限制。如果是这种情况,扩大规模可能会帮助您解决问题。

  2. 确保您明确打开和关闭您的连接,以便 .Net 可以管理您的连接

  3. 将连接字符串中的 Max Pool Size 设置为更大的值