我是否需要每 N 小时自动回收一次 IIS 池?

我是否需要每 N 小时自动回收一次 IIS 池?

默认情况下,IIS 的“回收”应用程序池设置设为“常规时间间隔(分钟)==1740”,这使得应用程序池每 29 小时重启一次,无论发生什么情况以及服务器响应什么负载。

我如何知道是否需要启用此“每 N 小时自动回收”策略?

答案1

取决于您的应用程序。我有一些应用程序,当网站繁忙时我不想回收它们。因此,我将固定间隔改为特定时间。这些时间是深夜和清晨。这样回收就不会干扰网站上的用户交互。

对于常规网站来说,有规律的间隔不是问题。

您还可以选择根据请求和内存进行回收。这也取决于您的网络服务器规格(RAM)。

答案2

以上就是我对此事的看法,因此最好自己进行研究并得出自己的结论。虽然回收可能有些极端,但不应将其用于“解决”资源泄漏或挂起问题。如果您所处的环境中资源有限且托管多个站点,那么我可以看到回收/节流以最佳地利用资源。但是,让我们假设我为一家公司在 IIS 上构建了一个 Windows 服务而不是一个网站。如果我的服务在运行 24 小时后会挂起或会消耗服务器中的所有内存,而我在规范中没有说明这一点,那么要求安排一项任务以每 29 小时重新启动一次服务可能不会被某些客户接受,他们会要求我修复这个问题。好吧,这就是回收正在做的事情。当然,它会在终止旧工作进程之前启动一个新的工作进程,但您会看到工作进程冷启动的影响。因此,我建议测试站点在没有回收或空闲超时的情况下如何运行,并进行相应调整。

相关内容