我目前正在对 ASP.net 2.0 应用程序进行一些 GUI 测试。RDBMS 是 SQL Server 2005。主机是 Win Server 2003 / IIS 6.0。
我没有应用程序的源代码,因为它是由没有发布代码的外部公司编写的。
我注意到当我重新启动 IIS 时应用程序运行良好,但经过一些测试,在我打开和关闭浏览器几个小时后,应用程序开始变得越来越慢。我想知道这种行为是否是由于程序员关闭连接的错误做法造成的:我怀疑这里的数据库存在开放连接泄漏。
我猜.Net 垃圾收集器最终会关闭它们,但是......这可能需要一段时间,不是吗?
我有 SQL Server Management Studio,我确实从活动监视器中注意到在数据库上打开了很多连接。
综上所述,这里有一些与主要问题相关的问题:
在 SQL Server 2005 中有什么方法可以知道连接是因为等待在连接池中使用而打开的,还是因为它们被应用程序使用而打开的?
有人知道好的在线/纸质资源,我可以在其中学习如何使用性能计数器或其他类型的工具来帮助追踪这类问题吗?
如果性能计数器是最好的解决方案,我应该注意哪些变量?