IIS 7--如何追踪神秘的网络和 CPU 使用情况?

IIS 7--如何追踪神秘的网络和 CPU 使用情况?

我有一台运行 IIS 的 64 位 Server 2008 (R1) 机器。用户抱怨页面加载速度极慢。经过一番研究,我发现:

  1. 在隔离盒子以便只有一个用户能够连接后,每个 Web 请求都会导致 CPU 的使用率在大约两秒钟内跳升至 30%,即使是在最简单的页面上也是如此。查看代码,没有明显的原因导致这种使用。

  2. NewRelic 显示“网络”丢失了 > 10 秒,尽管所有访问都是通过 100 兆 LAN 进行的,并且 perfmon 显示网络输出队列长度为零。

我们在代码中找不到导致如此多 CPU 活动的任何原因,也没有找到 NewRelic 认为存在网络问题的任何答案。

寻找从这里去哪里的建议。

答案1

您可能还会发现失败请求追踪在这里很有用。这个名字实际上有点太具体了,因为该功能可以跟踪任何类型的请求。

MSDN 的 Tess Ferrandez 写了一篇精彩的文章,关于使用失败请求跟踪进行性能故障排除,在这种情况下绝对值得一读

答案2

Windows Server 2008 默认启用了一项新的网络功能 Scalable Networking Pak。我认为此功能造成的问题比它解决的问题还多。以下 2 篇文章涉及此问题:
TCP 烟囱
Microsoft 支持文章:KB951037

相关内容