首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >达到Azure SQL server最大池大小时出错。

达到Azure SQL server最大池大小时出错。
EN

Stack Overflow用户
提问于 2015-07-01 13:20:57
回答 2查看 8.3K关注 0票数 5

我们有azure sql server,同时连接了40多个并发用户,我们获得了以下错误。

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

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

azure的硬件细节是标准服务层和s2(50DTU)性能级别。数据库大小为705 MB。

我们正在本地pc中恢复相同的数据库。在本地,我们正在使用Server 2014速成版。使用这个工具,我们已经成功地连接了200个用户。

如何在蔚蓝中实现200多个并发用户?我很感谢你的宝贵意见。

EN

回答 2

Stack Overflow用户

发布于 2015-07-01 13:54:50

  1. 这些查询在SQL中的运行时间必须足够长,以便耗尽连接。看看sys.dm_exeC_requests和/或sys.dm_exec_connections,看看有多少是为40个用户打开的测试。缓慢的查询也可能是因为您在S2层上遇到的资源限制。查看sys.resource_stats视图,看看是否达到了任何资源限制。如果是这样的话,扩大规模可能会帮助您解决问题。
  2. 确保显式打开和关闭连接,以便.Net可以管理连接。
  3. 将连接字符串中的最大池大小设置为较大值
票数 5
EN

Stack Overflow用户

发布于 2015-07-01 13:55:30

您的用户是否直接连接数据库(可能来自某个桌面客户端应用程序)?因为如果我们说的是支持200个并发用户的web应用程序,这并不意味着您需要200个并发连接到数据库来为他们服务--使用1-2连接为200个用户提供服务是完全可能的。达到连接池限制几乎总是意味着,您只是不关闭您的连接(它们不是物理关闭的,它们返回到连接池并标记为可用的,当您在SqlConnection上调用Close()时。我不熟悉您正在使用的压力测试工具,但情况可能是这样的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31162597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档