我有一个IIS网站。
- AppPool设置为
autoStart = true
(因此AppPool在服务器重新启动时开始运行)。 - AppPool设置为
startMode = alwaysRunning
(因此网站在AppPool启动时开始运行)。 - AppPool默认启用了rapidFailProtection。(因此,5分钟内5个站点崩溃将停止AppPool)。
我偶尔会发现AppPool已经停止,我最近意识到这通常意味着有某种网络故障。当这种情况发生时,我的应用程序在启动时失败...这意味着它触发了rapidFailProtection(似乎是明智的)。
但随后AppPool停止,没有任何东西再次启动它。所以一旦网络故障事件结束...它还在下降:(
感觉这一定是一个标准场景,因此我希望有一个标准设置解决方案。某种“在RapidFailProtection后2小时重新启动AppPool”之类的。
RapidFailProtection最理想的情况是启动指数回退过程,但这听起来有点乐观:D
1条答案
按热度按时间nbewdwxp1#
没有类似“RapidFailProtection后2小时重新启动AppPool”的设置。默认情况下启用快速故障保护,它所做的是检查指定数量的硬故障,默认情况下是5分钟内5次故障,然后应用程序池将崩溃并且不会自动重新启动。就是这样
作为替代方案,您可以设置如下所示的PowerShell脚本,并将其设置为定期运行的计划任务,以便定期检查应用程序池的状态,并在停止时重新启动它。当然,也可以设置指定的条件来触发任务。例如,您可以让它按计划执行、在登录时执行、在空闲时执行、在启动时执行或在发生特定事件时执行。您可以参考此article。