我目前正在对一个ASP.net 2.0应用程序进行GUI测试。 RDBMS是SQL Server 2005。主机是Win Server 2003 / IIS 6.0。
由于该应用程序是由不释放源代码的外部公司编写的,因此我没有该应用程序的源代码。
我注意到当我重启IIS时,该应用程序表现良好,但在经过几个小时的打开和关闭浏览器后,应用程序会变得越来越慢。我想知道这种行为是否是由于程序员的错误关闭连接操作引起的:我怀疑数据库中存在打开的连接泄漏。
我猜.NET垃圾收集器最终会将它们关闭,但是...那可能要花一段时间,对吗?
我有SQL Server Management Studio,并且我确实从活动监视器中注意到有相当多的连接打开在数据库中。
根据上面所说的所有内容,以下是与主要问题相关的一些问题:
在SQL Server 2005中是否有任何方法可以知道是否存在连接池中等待使用的连接还是被应用程序使用的已打开连接?
是否有好的在线/纸质资源可以向我展示如何使用性能计数器或其他工具来帮助跟踪这些问题?
如果性能计数器是最佳解决方案,那么我应该监视哪些变量?