asp.net.ph

Skip Navigation LinksHome > ASP.NET Applications > ASP.NET Optimization > Developing High-Performance ASP.NET Applications > Performance Counters for ASP.NET

Performance Counters for ASP.NET

ASP.NET Web Applications   ASP.NET Optimization


ASP.NET supports two groups of performance counters: system and application. The former is exposed in PerfMon under the ASP.NET System performance counter object, while the latter is exposed ASP.NET Applications performance object.

System Performance Counters

ASP.NET supports the following global performance counters, which either aggregate information for all ASP.NET applications on a Web server computer or apply generally to the ASP.NET subsystem, which can include Web farms and Web gardens.

Application Restarts
The number of times that an application has been restarted during the Web server’s lifetime. Application restarts is incremented with each Application_End event.

NOTE: This value will be reset every time the Internet Information Services ( IIS ) host is restarted.

Application Running
The number of applications running on the server computer.
Requests Disconnected
The number of requests that were disconnected due to a communication failure.
Requests Queued
The number of requests waiting for service from the queue.
Request Wait Time
The number of milliseconds that the most recent request waited for processing in the queue.
State Server Sessions Abandoned
The number of user sessions that have been explicitly abandoned. These are sessions that are ended by specific user actions, such as closing the browser or navigating to another site.
State Server Sessions Active
The number of currently active user sessions.
State Server Sessions Timed Out
The number of user sessions that have become inactive through user inaction.
State Server Sessions Total
The number of sessions created during the lifetime of the process. This counter is the cumulative value of State Server Sessions Active, State Server Sessions Abandoned, and State Server Sessions Timed Out.
Worker Process Restarts
The number of times a worker process has been restarted on the server computer.
Worker Process Running
The number of worker processes running on the server computer.

Application Performance Counters

ASP.NET supports the following application performance counters, which you can use to monitor the performance of a single instance of an ASP.NET application. A unique instance appears for these counters, named __Total__, which aggregates counters for all applications on a Web server ( similar to the global counters above ). The __Total__ instance is always available — the counters will display zero when no applications are present on the server.

Anonymous Requests
The number of requests utilizing anonymous authentication.
Anonymous Requests/Sec
The number of request per second utilizing anonymous authentication.
Cache Total Entries
The total number of entries within the cache. This counter includes both internal use of the cache by the ASP.NET framework and external use of the cache through exposed APIs.
Cache Total Hits
The total number of hits from the cache. This counter includes both internal use of the cache by the ASP.NET framework and external use of the cache through exposed APIs.
Cache Total Misses
The number of failed cache requests per application. This counter includes both internal use of the cache by ASP.NET and external use of the cache through exposed APIs.
Cache Total Hit Ratio
The ratio of hits to misses for the cache. This counter includes both internal use of the cache by ASP.NET and external use of the cache through exposed APIs.
Cache Total Turnover Rate
The number of additions and removals to the total cache per second. It is useful in helping determine how effectively the cache is being used. If the turnover is large, then the cache is not being used efficiently.
Cache API Entries
The total number of entries in the application cache.
Cache API Hits
The total number of hits from the cache when accessed only through the external Cache APIs. This counter does not track any use of the cache internally by ASP.NET.
Cache API Misses
The total number of failed requests to the cache when accessed through the external Cache APIs. This counter does not track any use of the cache internally by ASP.NET.
Cache API Hit Ratio
The cache hit to miss ratio when accessed through the external Cache APIs. This counter does not track any use of the cache internally by ASP.NET.
Cache API Turnover Rate
The number of additions and removals to the cache per second, when used via the external APIs ( excluding internal use by the ASP.NET framework ). It is useful in helping determine how effectively the cache is being used. If the turnover is large, then the cache is not being used effectively.
Compilations Total
The total number of compilations that have taken place during the lifetime of the current Web server process. This occurs when a file with an .aspx, .asmx, .ascx, or .ashx extension or code-behind source files are dynamically compiled on the server.

NOTE: This number will initially climb to some peak value as requests are made to all parts of an application. Once a compilation occurs, however, the resulting binary is saved to disk where it will be re-used until its source file changes. This means that even in the event of a process restart the counter can remain at zero ( inactive ) until the application is modified or re-deployed.

Debugging Requests
The number of requests that occurred while debugging was enabled.
Errors During Preprocessing
The number of errors that occurred during parsing. Excludes compilation and runtime errors.
Errors During Compilation
The number of errors that occurred during dynamic compilation. Excludes parser and runtime errors.
Errors During Execution
The total number of errors that occurred during the execution of an HTTP request. Excludes parser and compilation errors.
Errors Unhandled During Execution
The total number of unhandled errors that occurred during the execution of HTTP requests.

NOTE: An unhandled error is any uncaught runtime exception that escapes user code on the page and enters the ASP.NET internal error-handling logic. Exceptions to this rule occur when:

  • Custom errors are enabled, an error page is defined, or both.
  • The Page_Error event is defined in user code and the error is either cleared ( using the HttpServerUtility.ClearError Method method ) or a redirect is performed.
Errors Unhandled During Execution/Sec
The number of unhandled exceptions per second that occur during the execution of HTTP requests.
Errors Total
The total number of errors that occured during the execution of HTTP requests. Includes any parser, compilation, or runtime error. This counter is the sum of the Errors During Compilation, Preprocessing, and Request Execution counters.
Errors Total/Sec
The number of errors per second that occur during the execution of HTTP requests. Includes any parser, compilation, or runtime error.
Output Cache Entries
The total number of entries in the output cache.
Output Cache Hits
The total number of requests serviced from the output cache.
Output Cache Misses
The number of failed output cache requests per application.
Output Cache Hit Ratio
The percentage of total requests serviced from the output cache.
Output Cache Turnover Rate
The number of additions and removals to the output cache per second. It is useful in helping determine how effectively the cache is being used. If the turnover is large, then the cache is not being used effectively.
Pipeline Instance Count
The number of active pipeline instances.
Request Bytes In Total
The total size, in bytes, of all requests.
Request Bytes Out Total
The total size, in bytes, of responses sent to a client. This does not include standard HTTP response headers.
Requests Executing
The number of requests currently executing.
Requests Failed
The total number of failed requests, including requests that timed out, requests that were not authorized ( 401 ), or requests not found ( 404 or 414 ). Note: the equivalent ASP counter would also increment on requests rejected, which we cannot do ( because the rejection is done by IIS and not our process model ).
Requests Not Found
The number of requests that failed because resources were not found ( status code 404, 414 ).
Requests Not Authorized
The number of requests that failed due to no authorization ( status code 401 ).
Requests Succeeded
The number of requests that executed successfully ( status code 200 ).
Requests Timed Out
The number of requests that timed out.
Requests Total
The total number of requests since the service was started.
Requests/Sec
The number of requests executed per second.
Sessions Active
The current number of sessions currently active.
Sessions Abandoned
The number of sessions that have been explicitly abandoned.
Sessions Timed Out
The number of sessions that timed out.
Sessions Total
The number of sessions timed out.
Transactions Aborted
The number of transactions aborted.
Transactions Committed
The number of transactions committed.
Transactions Pending
The number of transactions in progress.
Transactions Total
The total number of transactions since the service was started.
Transactions/Sec
The number of transactions started per second.
See Also

Monitoring ASP.NET Application Performance



© 2025 Reynald Nuñez and asp.net.ph. All rights reserved.

If you have any question, comment or suggestion
about this site, please send us a note