我有一个在IIS 8上运行的ASP.NET应用程序。我的应用程序有时不响应请求,客户端记录超时,然后IIS开始发送503个不可用的响应代码。每次中断似乎持续5分钟,相当于杀死w3wp的5分钟限制间隔。 我将应用程序池配置为杀死w3wp限制操作,限制百分比为80%。
虽然由于高CPU使用率似乎会导致池被杀,但我在事件查看器中找不到任何记录。事实上,它已经进入闲置状态,因为大约25分钟内没有请求。
崩溃发生在池空闲时发出的3个简单相同的请求。它无法在任何环境中手动复制。
这种情况大约每周发生一次。由于它是一个关键应用程序,它运行在一个没有安装其他应用程序的单独服务器上。
我已将限制从杀戮改为限制,但我不确定这是一个好主意。无论如何,我必须找到一种方法来重现这一点。
池是否无法退出空闲状态?
答案 0 :(得分:0)
如果没有流量,w3wp.exe可能会空闲,也就是停止运行。但这与它真正停止并且它不会导致503不同。它将在下一个请求时开始备份。
更有可能是因为您的IIS应用程序池崩溃或字面上被停止了。
我会检查Windows事件查看器,看看是否在w3wp崩溃的时间范围内说了什么。您还可以设置IIS,以便在您的w3wp应用程序池停止,启动,回收时随时执行更详细的日志记录。
有关启用更多应用池记录的文档: https://technet.microsoft.com/en-us/library/cc753412%28v=ws.10%29.aspx?f=255&MSPPError=-2147217396
您还可以搜索各种IIS日志以查找错误:
https://stackify.com/beyond-iis-logs-find-failed-iis-asp-net-requests/
答案 1 :(得分:0)
如果设置了自动回收选项,则将其删除并改为安排回收。
似乎应用程序的内存消耗趋于饱和,IIS被回收