X次错误后重新启动IIS /回收应用程序池?

时间:2009-08-03 16:21:53

标签: asp.net iis iis-6

我的公司一直受到我们webfarm上臭名昭着的“Hashtable insert failed. Load factor too high”错误的困扰[6个带有IIS 6.0的Server 2003 SP2盒子]。我意识到有一个kb更新可以解决这个错误(请参阅链接),但是部门中的其他人没有及时联系Microsoft(我没有权限这样做)。我们发现无论是完整的iisreset还是回收App Pool都可以解决问题。

有没有办法我们可以配置IIS来监控它产生的错误数量,并在达到某个阈值后重新开始和/或重置?它应该很容易辨别 - 我们每分钟可以得到1000多个错误。在此错误被触发时受影响的服务器上。

2 个答案:

答案 0 :(得分:1)

如果你可以在应用程序中catch the error(听起来你可以),你可以让应用程序自行回收。有关如何执行此操作的详细信息,请参阅http://www.west-wind.com/Weblog/posts/5688.aspx

当然,您需要了解这样做的问题。

或者,您可以根据以下条件获得app pool recycling working

  • 经过一段时间后。
  • X请求后。
  • 在预定时间。
  • 使用一定量的内存后。

也许您可以找到其中一个有帮助的标准?

答案 1 :(得分:0)

您可以创建一个小型监视器应用程序来检查perfmon并执行命令以在达到阈值时回收应用程序池(我相信有一个可以重新启动单个应用程序池的WMI接口)

这不是一个很棒的解决方案,我承认......