【发布时间】:2009-02-16 09:41:20
【问题描述】:
我的问题是有时网络服务器上的 CPU 使用率会达到 100%(由 W3wp.exe 引起)
此时网站将变为“服务不可用”
问题:我在哪里可以从 IIS/HTTPERR 日志中查看网站变为“服务不可用”的位置?
我可以使用 Log Parser 来确定发生这种情况的时间吗?如果有,请问有什么问题吗?
谢谢
【问题讨论】:
我的问题是有时网络服务器上的 CPU 使用率会达到 100%(由 W3wp.exe 引起)
此时网站将变为“服务不可用”
问题:我在哪里可以从 IIS/HTTPERR 日志中查看网站变为“服务不可用”的位置?
我可以使用 Log Parser 来确定发生这种情况的时间吗?如果有,请问有什么问题吗?
谢谢
【问题讨论】:
您可以为该进程创建一个用户转储文件并使用调试诊断工具来分析发生了什么。该工具是 IIS 诊断工具包 的一部分(下载和描述here)。它位于文件夹C:\Program Files\IIS Resources\DebugDiag。
这篇支持文章详细解释了如何做到这一点:
How to use the Debug Diagnostics Tool to troubleshoot high CPU usage by a process in IIS
【讨论】:
不知道这是否值得深思,但这就是我们所做的:
当我们的页面呈现超过某个可接受的阈值时,我们将服务器标记为“忙碌”,并且所有未来的新会话都被拒绝“服务器忙碌” - 这让打开会话的人完成,减轻负载,并释放资源以创建新会话以恢复
我们通过记录每分钟的平均任务持续时间来做到这一点,并检查过去五分钟的平均值是否超过阈值 - 然后设置忙碌标志。当 5 分钟移动平均值再次低于阈值时,该标志将在下一次重新计算(这是计划为一分钟间隔的任务)时清除。
【讨论】: