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

iismonitoringperformance

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)

Best Answer

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.NET\Application Restarts
  • ASP.NET\Requests Rejected
  • ASP.NET\Worker Process Restarts (not applicable to IIS 6.0)
  • Memory\Available Mbytes
  • Web Service\Current Connections
  • Web Service\ISAPI 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 Applications\Requests in Application Queue