it-swarm.cn

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

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

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

53
djdd87

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

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

此外,还应更改在1740分钟时回收应用程序池的默认设置。我建议将其安排在非高峰时间(例如每天凌晨4:00),而不是在每天的不同时间进行。在我的网站上 这里 的更多内容。

54
Scott Forsyth - MVP

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

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

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

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

14
M Aguilar

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

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

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

4
Adam Brand