我们在 Windows Server 2008 上有一个 IIS 7.5 Web 服务,用于处理来自 C# 客户端的 WCF 请求。此服务配置为最大工作进程数 = 1,因此它不是 Web 园。
IIS 设置为自我回收每天同一时间(凌晨 3 点)。我正在尝试调试棘手的连接问题,因此我想确保应用程序池不会自行回收。我将池配置为当其自行回收时记录事件。
令我惊讶的是,我在系统事件日志中看到以下条目:
级别:信息 日期/时间:2012 年 3 月 23 日 凌晨 3:00:00 - 来源:WAS - 事件 ID:5076
为应用程序池“MyAppPool”提供服务的进程 ID 为“6636”的工作进程已请求回收,因为它已达到其预定的回收时间。
级别:信息 日期/时间:2012 年 3 月 23 日 上午 2:59:39 - 来源:WAS - 事件 ID:5076
为应用程序池“MyAppPool”提供服务的进程 ID 为“9364”的工作进程已请求回收,因为它已达到其预定的回收时间。
IIS 在凌晨 3 点正确地回收了应用程序池。但是,我不明白为什么日志中会在几秒钟内收到两个回收事件。最大进程数为 1。IIS 有时会为指定为具有 1 个进程的应用程序池分配多个进程吗?
- 编辑 -
我今天下午 4 点左右连接,只看到 1 个 w3wp.exe 进程。没有其他事件日志条目表明发生崩溃。
答案1
我们在几台服务器上遇到了同样的问题。如果我重置时间,它们只会循环一次,直到日期更改,然后它会再次从重复项开始。微软告诉我们这是由于 VM 服务器上的时间漂移造成的。