Aug 25, 2011

What are good tools/techniques for monitoring and debugging IIS performance problems?


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

Related posts:

  1. Tools for monitoring status and performance of a Linux, Ruby on Rails (using the Delayed Job gem), Nginx, Passenger, Mysql and MongoDB environment
  2. Monitoring IIS servers
  3. Do you use performance counters on production IIS web sites?
  4. Visualization Tools for Web App and Database Servers Performance Monitoring
  5. Good resources for Linux sysadmin tools, techniques and practices

Leave a comment