我们有一个C#客户端,一个C#WCF Web服务层和一个SQL Server数据库的三层应用程序。 Web服务使用ADO.NET连接到数据库。我们所有的C#代码都使用.NET Framework 2.0。监控ADO.NET连接开放时间
最近,一位客户对我们的应用程序进行了压力测试。在测试过程中,网络服务器产生了很多如下错误:
无法连接到数据库连接字符串'...'。超时过期。操作完成之前超时的时间或服务器没有响应。
我知道有一些方法可以在连接池已满时尝试捕获连接错误,并尝试获取连接池之外的连接。我们还发现了一些需要调整的查询,但它们并没有解释Web服务器连接超时。
我们正试图弄清为什么Web服务器超时连接到数据库。我已经设置了网络服务器来启用所有的ADO.NET performance counters。但是,我没有看到与连接或连接超时等相关的时间相关的任何事情。理想情况下,我们可以在perfmon
的其他ADO.NET计数器旁边绘制连接时间图。
有没有办法监控ADO.NET在获取连接时的性能?
我想我们可以通过计时尝试打开连接来创建我们自己的“平均连接开放时间”性能计数器,但我宁愿使用已存在的东西。
SQL Profiler会在这方面提供帮助吗? – 2013-02-22 15:33:06
@MrMoose:分析器在寻找一些问题查询方面帮了很大忙。但是我需要一些特定的东西来监视连接时间,以了解它们何时上升以及何时开始超时。 – 2013-02-22 15:36:09