我们有两个网站都安装在Windows 2008 R2和IIS7上,它们偶尔会挂起它们各自的应用程序池被回收。
挂起我的意思是浏览器将尝试检索网站,并尝试加载它很长时间,有时在5-10分钟后它将开始显示网页,有时它甚至在那个时间之后也没有显示任何内容,而浏览器似乎仍然在尝试加载网页。
当前的工作是登录到服务器,打开IIS 7控制台,再循环到附加到网站的辅助进程。
是什么原因造成了这种情况,我们如何永久解决这一问题?
发布于 2013-11-22 17:28:00
当发生这种情况时,您是否查看了IIS日志?这可能是第一个开始。
这可能是由于您的应用程序池由于太多的错误而停止或挣扎造成的。如果您转到应用程序池的高级设置,则有一个快速失败保护部分。
您可以增加故障间隔,也可以增加最大故障次数(该间隔允许的故障数量),但这并不能真正解决问题,但可能会防止出现故障的频率。
在“回收”部分下,还可以强制应用程序池按指定的时间间隔自动回收,但这可能会导致某些会话数据丢失,并为最终用户重置某些内容。这也只能帮助停止频率,而不是问题的根本问题。
最好的办法就是找出它停止的原因。如果这是一个asp.net应用程序,您可以运行像elmah这样的工具来记录应用程序中发生的所有异常,并着手修复这些异常。
发布于 2015-01-02 05:31:29
你有没有在“挂起”时检查过CPU的使用情况?应用程序代码中的无限循环将导致这种行为。除非有I/O、锁定或睡在循环中,否则您将能够从CPU的使用中看到它,因为您将在每个无限循环中得到一个完整的CPU使用量。
https://serverfault.com/questions/555990
复制相似问题