我在IIS 7.5,Windows Server 2008 R2上运行了一个asp.net应用程序 - 使用经典模式的应用程序池,框架版本4。
有时我遇到以下问题: 该应用程序可以工作几天,但突然间我收到一个http错误503 - 服务器不可用。
当我查看应用程序池时,它似乎正在运行(我看到它已经启动),但它实际上是冻结的 - 每个请求都以503响应。 在工作进程列表中(在IIS管理器中),我看到许多请求未处理。
值得一提的是,在其他应用程序池下运行的其他asp.net应用程序运行正常,这意味着IIS工作正常,问题仅出现在此特定应用程序池中。
当我研究http错误日志时,我在Windows \ System32 \ LogFiles \ HTTPERR文件夹中看到以下错误日志:
为了使用应用程序,我正在进行iisreset(我想池中的回收也足够了。)
我很乐意收到任何帮助或建议。
编辑:
重要的是要提及没有任何相关内容写入IIS日志或系统和应用程序日志。此错误发生在。
之前答案 0 :(得分:2)
如果没有关于您的问题的更多信息,大多数快速解决方案将是Configure Recycling Settings for an Application Pool。由于您的问题与请求队列有关,因此您可以选择选项达到大量请求后。
答案 1 :(得分:1)
当我遇到HTTP 500错误时,我发现启用IIS跟踪非常有帮助。以下是描述启用跟踪然后查看跟踪的过程的链接。该站点的第一部分介绍了如何安装IIS,因此您可能希望跳到标有“启用失败请求跟踪”的部分。
Troubleshooting Failed Requests Using Tracing in IIS 7
编辑:
由于您收到QueueFull错误,您可能希望监视请求队列。最简单的方法是使用Perfmon。在具有IIS的服务器上,打开“性能监视器”并在“HTTP服务请求队列”下添加相应的计数器。在您的情况下,病态应用程序池的“当前请求队列”可能是有价值的。