IIS 7 – 如何查找神秘的networking和CPU使用情况?

我有一个运行IIS的64位Server 2008(R1)盒子。 用户抱怨页面速度非常慢。 挖完后我发现:

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

  2. 即使所有的访问超过了100M的LAN,NewRelic显示> 10s丢失到“联网”,并且perfmon显示networking输出队列长度为零。

我们在代码中找不到任何可能导致CPU活动太多的问题,或者为什么NewRelic认为存在networking问题。

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

您也可能会在这里find失败的请求跟踪 。 其实名字有点太具体,导致该function可以跟踪任何types的请求。

Tess Ferrandez在MSDN上写了一篇关于使用Failed Request Tracing进行性能故障诊断的精彩文章,绝对值得一读这种types的场景

默认情况下,Windows Server 2008启用了一个新的networkingfunctionScalable Network Pak。 我认为这个function会导致比解决问题更多的问题。 这里有2篇文章涉及到这个问题:
TCP烟囱
Microsoft支持文章:KB951037