How to Monitor ASP.NET
Below are recommendations for monitoring ASP.NET performance counters. There are many counters that can be used to monitor ASP.NET; the list below are some of the most suggested counters to monitor. Although these are suggested counters there isn't much on suggested thresholds for them because the number of applications running will vary too widely to get an accurate thresholds. The best practice would be to start monitoring and collecting data for the counters and then set the threshold values at a later date.
ASP.NET Counters
.NET Counters
.NET CLR Exceptions(*)\# of Exceps Thrown / sec |
.NET CLR Loading(*)\Current Assemblies |
.NET CLR Loading(*)\Bytes in Loader Heap |
.NET CLR Memory(*)\Allocated Bytes/sec |
.NET CLR Memory(*)\% Time in GC |
.NET CLR Memory(*)\# Bytes in all Heaps |
.NET CLR Memory(*)\% Time in GC |
.NET CLR Memory(*)\# Gen 0 Collections |
.NET CLR Memory(*)\# Gen 1 Collections |
.NET CLR Memory(*)\# Gen 2 Collections |
ASP.NET Counters
\Application Restarts |
\Applications Running |
\Request Execution Time |
\Request Wait Time |
\Requests Current |
\Requests Queued |
\Requests Rejected |
\Worker Process Restarts |
ASP.NET Application Counters
\Anonymous Request/Sec |
\Cache API Hit Ratio |
\Cache Total Hit Ratio |
\Errors During Execution |
\Errors Total |
\Errors Total/sec |
\Errors Unhandled During Execution |
\Requests Executing |
\Requests Failed |
\Requests In Application Queue |
\Requests Timed Out |
\Request Wait Time |
\Requests Total |
\Requests/Sec |
Other Counters to Monitor
Most technical sources suggest the following performance counters should be monitored with all ASP.NET applications.
Processor Counter\% Processor Time |
Memory Counter\Available Mbytes |
System Counter\Context Switches/sec |
Web Service Counters\Current Connections |
Web Service Counters\Total Method Requests/sec |
Web Service Counters\ISAPI Extension Requests/sec |
References
http://msdn.microsoft.com/en-us/library/ms972959.aspx