禁用应用程序池的空闲超时有什么害处吗?

禁用应用程序池的空闲超时有什么害处吗?

我现在在解决一个问题ASP.Net 首次加载页面需要几分钟时间。通过调整设置,我发现禁用“空闲时间(分钟)后关闭工作进程”可以阻止问题发生...我猜想它阻止我的问题发生的原因是工作进程不会结束,因此应用程序池永远不需要重新创建自身。

禁用此选项有什么坏处吗? 会产生什么后果?

答案1

我强烈建议在大多数情况下关闭空闲超时。这是默认设置,但它更适合批量托管商,他们希望结束未使用的工作进程,以便他们始终可以假设他们不会同时运行所有工作进程。

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

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

答案2

下列情况下最好启用此设置:

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

如果您只定义了几个应用程序池,那么被应用程序池淹没的危险并不大。

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

答案3

我的理解是,如果在一段时间后你不终止空闲的工作进程,那么将会有大量未使用的工作进程消耗内存。

我想你可以尝试一下,看看是否注意到内存逐渐增加。还有另一种设置,每 1700 分钟左右进行一次回收,这样可以清除非常老的工作进程。

顺便说一下,我们处理较少使用的网站的方法是,我们的监控软件每 10 分钟加载一个 aspx 页面。

相关内容