Do you use performance counters on production IIS web sites?
I've never had problems running performance counters on my servers.
Microsoft suggests watching following counters for IIS:
- Memory\Pages/sec
- Memory\Available Bytes
- Memory\Committed Bytes
- Memory\Pool Nonpaged Bytes
- Processor\% Processor Time
- Processor\Interrupts/sec
- Processor\System Processor Queue Length
- LogicalDisk\% Disk Time
- PhysicalDisk\% Disk Time
- LogicalDisk\Avg. Disk Queue Length
- PhysicalDisk\Avg. Disk Queue Length
- LogicalDisk\Avg. Disk Bytes/Transfer
- PhysicalDisk\Avg. Disk Bytes/Transfer
- System\Context Switches/sec
- Web Service\Bytes Total/sec
- Web Service\Total Method Requests/sec
- Web Service\Current Connections
- Web Service Cache\File Cache Hits %
- Web Service Cache\Kernel:URI Cache Misses
- Web Service Cache\Kernel:URI Cache Hits %
Specifically for ASP.NET I would watch
- ASP.NET\Application Restarts
- ASP.NET\Requests Queued
- ASP.NET\Worker Process Restarts
- ASP.NET Applications\Errors Total
- ASP.NET Applications\Requests/Sec
- ASP.NET Applications\Pipeline Instance Count
- .NET CLR Exceptions# of Exceps Thrown
As a general rule you should be gathering performance data all the time. That way you'll have all the data you need when you walk into your manager's office and say "Our peak load has been increasing by X% every week for the last few months, and at that rate we'll exceed our current capacity in about 3 months. We need to start planning for that now."