服务器设置为其默认配置,每 1740 分钟回收一次应用程序池。发生这种情况时,会记录以下消息:
A worker process with process id of '1234' serving application pool 'XX' has
requested a recycle because the worker process reached its allowed
processing time limit.
记录此消息后,网站立即停止响应。恢复在线的唯一方法是手动运行iisreset
。
除了关闭回收功能外,还有人知道此问题的解决方案吗?这是一个已知问题吗?
编辑1:
问题已确定为特定补丁版本。我将在下周研究补丁中的更改,并根据我的发现更新/回答此问题并提供解决方案或更详细的问题
答案1
粗体编辑:
您拥有 SharePoint 或 Exchange或某些应用程序在 IIS 服务器上安装/配置。当工作进程回收时,即每 1720 分钟后内部使用的命令是IISRESET
“。 但,由于回收比平时花费了更多时间正常关机超过默认超时值(即 60 秒)并因此发生事件。在工作进程回收期间,你不会发现任何停机时间,因为当旧进程关闭时,会创建一个新进程并处理新的请求. 查看这篇文章工人流程回收的工作原理
看到的事件将是这样的
事件类型: 信息
事件来源: W3SVC
事件类别: 无
事件 ID: 1074
描述: 为应用程序池“sameappPool”提供服务的进程 ID 为“1234”的工作进程已请求回收,因为该工作进程已达到其允许的处理时间限制。
为了解决这个问题,回收命令应该是“ IISRESET /NOFORCE
”,这样服务就可以正常停止。