I've got a 64-bit Server 2008 (R1) box running IIS. Users were complaining about extremely slow-loading pages. After digging around I found:
After isolating the box so only one user was able to connect, each web request caused the CPU to jump to 30% for about two seconds, even on the simplest of pages. Looking at the code, no obvious reason for this usage is apparent.
NewRelic shows > 10s lost to "networking", even though all the access is over a 100-meg LAN, and perfmon shows a network Output Queue Length of zero.
We can't find anything in the code that should cause so much CPU activity, or any answer to why NewRelic thinks there's a network problem.
Looking for suggestions of where to go from here.
Windows Server 2008 enabled a new network feature by default Scalable Networking Pak. I think this feature causes more issues than it solves. Here is 2 articles refer to this issue:
TCP Chimney
Microsoft Support article: KB951037
You might also find Failed Request Tracing useful here. The name is a little too specific actually, cause the feature enables tracing any type of request.
Tess Ferrandez over at MSDN wrote a brilliant article about performance troubleshooting with Failed Request Tracing, definitely worth a read in this type of scenario