I’m looking for the best tools/techniques for monitoring IIS performance problems and then debugging them. I’m particularly interested in ASP.NET applications.
This may be a combination of tools or there may be something that is good for both?
(I’ll add an answer or two based on my experience, for my future reference!, but I hope I’ll get some other answers with useful tools to add to my collection)
PerfMon is a good basic tool for monitoring.
There are a number of key performance monitor counters that can be used for keeping an eye a server.
A useful article by Microsoft’s Thomas Marquardt suggests the following as the minimum counters that should be used for monitoring an ASP.NET application
- Processor(_Total)% Processor Time
- Process(aspnet_wp)% Processor Time
- Process(aspnet_wp)Private Bytes
- Process(aspnet_wp)Virtual Bytes
- Process(aspnet_wp)Handle Count
- Microsoft® .NET CLR Exceptions# Exceps thrown / sec
- ASP.NETApplication Restarts
- ASP.NETRequests Rejected
- ASP.NETWorker Process Restarts (not applicable to IIS 6.0)
- MemoryAvailable Mbytes
- Web ServiceCurrent Connections
- Web ServiceISAPI Extension Requests/sec
One counter that I have found useful that isn’t mentioned in that article but is
discussed in a Thomas Marquardt blog post on ASP.NET Thread Usage is this one:
- ASP.NET ApplicationsRequests in Application Queue
- Tools for monitoring status and performance of a Linux, Ruby on Rails (using the Delayed Job gem), Nginx, Passenger, Mysql and MongoDB environment
- Monitoring IIS servers
- Do you use performance counters on production IIS web sites?
- Visualization Tools for Web App and Database Servers Performance Monitoring
- Good resources for Linux sysadmin tools, techniques and practices