I was recently talking with some good friends about tips for performance and what an IIS Administrator could do on the server side. I also see this question from time to time in the forums @ http://forums.iis.net. Of course, you should test individual settings in a controlled environment while performing load testing before just implementing on your production farm.
IIS Compression enabled (both static and dynamic if possible, set it to 9) If you are running IIS 6, check this article out by Scott Forsyth.
Run FRT for long running pages (Failed Request Tracing)
Sql Connection pooling in code
Look at using PAL with performance counters ( http://blogs.iis.net/ganekar/archive/2009/08/12/pal-performance-analyzer-with-iis.aspx )
Look at load testing using visual studio load testing tools
Log parser finding long running pages. Here is a couple examples
Look at CPU, Memory and disk counters. Make sure the server has enough resources.
Same machineKey account across all same nodes
Localize content vs. using UNC based content on a single server (My UNC tag with great posts)
Content expiration
ETAG’s the same across all web-farms
Disable Scalable Networking Pack
Use YSlow or Developer tools in Chrome to help measure the client experience improvements.
Additionally, some basic counters in for measuring applications is: I would recommend checking out the Chapter 17 in IIS 7 Resource kit. it was one of the chapters I authored. :)
Concurrent Connections,
Request Per / Sec,
Request Queued.
I strongly suggest testing one change at a time to see how it helps improve your performance. Hopefully this post provides a few options to review in your environment.
Cheers,
Steve SchofieldMicrosoft MVP - IIS