禁用应用程序池的空闲超时是否有害?


51

我目前正在解决 ASP.Net 的问题,这需要几分钟的时间才能首次加载页面。通过玩设置,我发现禁用“闲置一段时间(以分钟为单位)后的Shutdown worker进程”可以阻止该问题的发生...我认为它阻止我的问题发生的原因是由于该worker进程不会结束,因此应用程序池永远不需要重新创建自己。

禁用此选项是否有害?它会有什么影响?

Answers:


52

我强烈建议在大多数情况下关闭空闲超时。这是默认设置,但对于希望终止未使用的工作进程的批量托管服务商而言,意味着更多,以便他们始终可以假设自己不会同时运行所有工作进程。

但是,如果服务器上只有几个生产应用程序池,但偶尔在20分钟内(即一整夜)没有访问者,则您不希望您的应用程序池停止。您可能有足够的资源来一次运行所有应用程序池。

此外,还应更改在1740分钟时回收应用程序池的默认设置。我建议将其安排在非高峰时间,例如每天4:00 am,而不是在每天的不同时间进行。有关内容的更多信息,请访问我的网站。


14

最好为以下情况启用此设置:

  • 泄漏的应用程序
  • 具有大量应用程序池的服务器

如果只定义了一些应用程序池,那么没有太多被淹没的危险。

除此之外,我在很多情况下都禁用了它,没有任何不良影响。


4

我的理解是,如果您在一段时间后不杀死空闲的工作进程,那么您将有大量未使用的工作进程耗尽内存。

我猜您可以尝试一下,看看您是否注意到内存逐渐增加。还有另一种设置,每1700分钟或类似的时间进行一次循环,这样可以清除真正的旧工作进程。

顺便说一句,我们使用较少使用的网站处理此问题的方式是,我们的监控软件每10分钟加载一次aspx页面。


感谢您提供的信息,我将密切关注内存。您使用什么监视软件?
djdd87

Tembria服务器监控器
Adam Brand

根据此链接(bradkingsley.com/iis7-application-pool-idle-time-out-settings),“如果服务器上运行的所有合并站点的消耗资源消耗的服务器资源不到80%,可能很好。” 意思是,如果上面的设置符合您的描述,则将空闲超时设置为“ 0”以实质上禁用它可能是可以的。
atconway 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.