我一直在调查几天前在
Windows 2003服务器上发生的问题.大约有15个应用程序池,在几分钟内,它们都在系统日志中产生了以下错误:
A process serving application pool 'Pool 31x' Failed to respond to a ping. The process id was '7144'.
我的问题是:什么会导致所有应用程序池同时“ping超时”,然后为什么它们启动太慢?
每个池中的应用程序都是使用.NET 1.1框架的WCMS.它连接到远程数据库,但独立于其他计算机.
IIS中的“Ping”只不过是由W3SVC进行的健康检查,用于监视工作进程的状态.当您看到诸如“为应用程序池提供服务的应用程序’appPool’之类的事件未能响应ping时.”意味着该过程处于死态.
快速失效保护是一种回收选项,可以解决此类问题并自行回收appPool,以保持工作流程的良好运行状况.
您需要调试该过程以找到问题的根源.
由于您在工作进程中加载了.net应用程序,因此检查应用程序事件日志并查看任何.net框架警告或错误并不是一个坏主意.您可以将调试诊断工具附加到进程并进行转储以检查导致问题的原因.请遵循文章How to use the Debug Diagnostics tool to troubleshoot a process that has stopped responding in IIS