问题描述
根据,我确认我的连接池有漏洞运行W2k3的IIS 6服务器上的应用程序。
Per this helpful article I have confirmed I have a connection pool leak in some application on my IIS 6 server running W2k3.
困难的部分是我在这6个应用程序池中为700个开发人员从这个服务器编写了300个网站,其中50%是.NET 1.1,而不是甚至在CLR数据性能计数器中显示连接。如果一切都是.NET 2.0+,我可以看到我的终端连接增长,但我甚至在这个苗条的监控工具上运气不好。
The tough part is that I'm serving 300 websites written by 700 developers from this server in 6 application pools, 50% of which are .NET 1.1 which doesn't even show connections in the CLR Data performance counter. I could watch connections grow on my end if everything were .NET 2.0+, but I'm even out of luck on that slim monitoring tool.
我的300个网站连接到分布在Oracle,SQLServer和异常值之间的100多个数据库,所以我也无法看到数据库端的连接。
My 300 websites connect to probably 100+ databases spread out between Oracle, SQLServer and outliers, so I cannot watch the connections from the database end either.
现在我最好也是唯一的计划是对我最糟糕的罪犯进行宽松的二元搜索。我会杀死应用程序池并慢慢从它们中删除应用程序,直到我发现当我杀死它们的池时,哪些单独的应用程序导致最多的连接丢失。但由于这是一个生产箱,我喜欢继续就业,这可能需要几个星期作为追踪方法。
Right now my best and only plan is to do a loose binary search for my worst offenders. I will kill application pools and slowly remove applications from them until I find which individual applications result in the most connections dropping when I kill their pool. But since this is a production box and I like continued employment, this could take weeks as a tracing method.
有没有人知道如何询问IIS连接池以了解其来源或所有者?是否有一个MSMQ触发器,我可能能够在创建它时附加它?我有点傻吗?
Does anyone know of a way to interrogate the IIS connection pools to learn their origin or owner? Is there an MSMQ trigger I might be able to which I might be able to attach when they are created? Anything silly I'm overlooking?
Kevin
(我将包含错误代码,以方便其他人通过搜索找到您的答案:
例外:System.InvalidOperationException
消息:超时已过期。从池中获取连接之前已经过了超时时间。这可能是因为所有池连接都在使用中并且达到了最大池大小。)
(I'll include the error code to facilitate others finding your answers through search:Exception: System.InvalidOperationExceptionMessage: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.)
推荐答案
尝试从此开始。
这篇关于IIS连接池询问/泄漏跟踪的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!