ASP.NET Performance Counters
Applies To: Windows Server 2003, Windows Server 2003 with SP1
ASP.NET supports the following ASP.NET system performance counters, which aggregate information for all ASP.NET applications on a Web server computer, or, alternatively, apply generally to a system of ASP.NET servers running the same applications.
ASP.NET Counters
Use the ASP.NET counters in Table D.35 through Table D.38 to monitor ASP.NET system performance.
Table D.35 describes the Application Restarts and Applications Running counters for the ASP.NET performance object.
Table D.35 Application Restarts and Applications Running Counters
Counter | Description |
---|---|
Application Restarts |
The number of times that an application has been restarted since the Web service started. Application restarts are incremented with each Application_OnEnd event. An application restart can occur because changes were made to the Web.config file or to assemblies stored in the application's \Bin directory, or because too many changes occurred in Web Forms pages. Sudden increases in this counter can mean that your Web application is shutting down. If an unexpected increase occurs, be sure to investigate it promptly. This value resets every time IIS is restarted. |
Applications Running |
The number of applications that are running on the server computer. |
Table D.36 describes the Requests counters for the ASP.NET performance object.
Table D.36 Requests Counters
Counter | Description |
---|---|
Requests Disconnected |
The number of requests that were disconnected because a communication failure occurred. |
Requests Queued |
The number of requests in the queue waiting to be serviced. If this number increases as the number of client requests increases, the Web server has reached the limit of concurrent requests that it can process. The default maximum for this counter is 5,000 requests. You can change this setting in the computer's Machine.config file. |
Requests Rejected |
The total number of requests that were not executed because insufficient server resources existed to process them. This counter represents the number of requests that return a 503 HTTP status code, which indicates that the server is too busy. |
Request Wait Time |
The number of milliseconds that the most recent request waited in the queue for processing. |
Table D.37 describes the State Server Sessions counters for the ASP.NET performance object. These counter are available only on a computer on which the state server service (aspnet_state) is running.
Table D.37 State Server Sessions Counters
Counter | Description |
---|---|
State Server Sessions Abandoned |
The number of user sessions that were explicitly abandoned. These are sessions that have been ended by specific user actions, such as closing the browser or navigating to another site. |
State Server Sessions Active |
The number of active user sessions. |
State Server Sessions Timed Out |
The number of user sessions that are now inactive. In this case, the user is inactive, not the server. |
State Server Sessions Total |
The number of sessions created during the lifetime of the process. This counter represents the cumulative value of State Server Sessions Active, State Server Sessions Abandoned, and State Server Sessions Timed Out counters. |
Table D.38 describes the worker process counters for the ASP.NET performance object.
Table D.38 Worker Process Counters
Counter | Description |
---|---|
Worker Process Restarts |
The number of times that a worker process restarted on the server computer. A worker process can be restarted if it fails unexpectedly or when it is intentionally recycled. If worker process restarts increase unexpectedly, investigate immediately. |
Worker Processes Running |
The number of worker processes that are running on the server computer. |
ASP.NET Applications 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 of these counters, named __Total__, aggregates counters for all applications on a Web server. The __Total__ instance is always available. When no applications are running on the server, the counters display zero.
Table D.39 describes the Anonymous Requests counters for the ASP.NET Applications performance object.
Table D.39 Anonymous Requests Counters
Counter | Description |
---|---|
Anonymous Requests |
The number of requests that use anonymous authentication. |
Anonymous Requests/sec |
The average number of requests that have been made per second that use anonymous authentication. |
Table D.40 describes the Cache Total counters for the ASP.NET Applications performance object.
Table D.40 Cache Total Counters
Counter | Description |
---|---|
Cache Total Entries |
The total number of entries in 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 responses served 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. 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 cache hits to cache misses. 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 to and removals from the cache per second. Use this counter to help determine how efficiently the cache is being used. If the turnover rate is high, the cache is not being used efficiently. |
Table D.41 describes the Cache API counters for the ASP.NET Applications performance object.
Table D.41 Cache API Counters
Counter | Description |
---|---|
Cache API Entries |
The total number of entries in the application cache. |
Cache API Hits |
The total number of requests served from the cache when it was accessed only through the external cache APIs. This counter does not track use of the cache internally by ASP.NET. |
Cache API Misses |
The total number of requests to the cache that failed when the cache was accessed through the external cache APIs. This counter does not track use of the cache internally by ASP.NET. |
Cache API Hit Ratio |
The cache hit-to-miss ratio when the cache was accessed through external cache APIs. This counter does not track use of the cache internally by ASP.NET. |
Cache API Turnover Rate |
The number of additions to and removals from the cache per second, when it is used through the external APIs (excluding internal use by the ASP.NET framework). This counter is useful for determining how effectively the cache is being used. If the turnover is great, then the cache is not being used effectively. |
Table D.42 describes the Errors counters for the ASP.NET Applications performance object.
Table D.42 Errors Counters
Counter | Description |
---|---|
Errors During Preprocessing |
The number of errors that occurred during parsing. Excludes compilation and run-time errors. |
Errors During Compilation |
The number of errors that occurred during dynamic compilation. Excludes parser and run-time 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. An unhandled error is any uncaught run-time exception that escapes user code on the page and enters the ASP.NET internal error-handling logic. Exceptions occur in the following circumstances:
|
Errors Unhandled During Execution/sec |
The number of unhandled exceptions that occurred per second during the execution of HTTP requests. |
Errors Total |
The total number of errors that occurred during the execution of HTTP requests. Includes parser, compilation, or run-time errors. This counter represents the sum of the Errors During Compilation, Errors During Preprocessing, and Errors During Execution counters. A well-functioning Web server should not generate errors. |
Errors Total/sec |
The average number of errors that occurred per second during the execution of HTTP requests. Includes any parser, compilation, or run-time errors. |
Table D.43 describes the Output Cache counters for the ASP.NET Applications performance object.
Table D.43 Output Cache Counters
Counter | Description |
---|---|
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 output-cache requests that failed per application. |
Output Cache Hit Ratio |
The percentage of total requests that were serviced from the output cache. |
Output Cache Turnover Rate |
The average number of additions to and removals from the output cache per second. If the turnover is great, the cache is not being used effectively. |
Table D.44 describes the Request Bytes counters for the ASP.NET Applications performance object.
Table D.44 Request Bytes Counters
Counter | Description |
---|---|
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. |
Table D.45 describes the Requests counters for the ASP.NET Applications performance object.
Table D.45 Requests Counters
Counter | Description |
---|---|
Requests Executing |
The number of requests that are currently executing. |
Requests Failed |
The total number of failed requests. All status codes greater than or equal to 400 increment this counter. Note: Requests that cause a 401 status code increment this counter and the Requests Not Authorized counter. Requests that cause a 404 or 414 status code increment this counter and the Requests Not Found counter. Requests that cause a 500 status code increment this counter and the Requests Timed Out counter. |
Requests In Application Queue |
The number of requests in the application request queue. |
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 because of lack of 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 (status code 500). |
Requests Total |
The total number of requests that have been made since the service started. |
Requests/sec |
The average number of requests that have been executed per second. This counter represents the current throughput of the application. |
Table D.46 describes the Session State and SQL Server Connections counters for the ASP.NET Applications performance object.
Table D.46 Session State and SQL Server Connections Counters
Counter | Description |
---|---|
Session State Server Connections Total |
The total number of session-state connections that were made to a computer on which out-of-process session-state data is stored. |
Session SQL Server Connections Total |
The total number of session-state connections that were made to the Microsoft® SQL Server™ database in which session-state data is stored. |
Table D.47 describes the Sessions counters for the ASP.NET Applications performance object. These counters are supported only with in-memory session state.
Table D.47 Sessions Counters
Counter | Description |
---|---|
Sessions Active |
The number of sessions that are 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 total number of sessions. |
Table D.48 describes the Transactions counters for the ASP.NET Applications performance object.
Table D.48 COM+ Transactions Counters
Counter | Description |
---|---|
Transactions Aborted |
The number of COM+ transactions that were aborted. |
Transactions Committed |
The number of COM+ transactions that were committed. This counter increments after page execution if the transaction does not abort. |
Transactions Pending |
The number of COM+ transactions that are in progress. |
Transactions Total |
The total number of COM+ transactions that have occurred since the service was started. |
Transactions/sec |
The average number of COM+ transactions that were started per second. |
Table D.49 describes a few miscellaneous counters for ASP.NET Applications.
Table D.49 Miscellaneous Counters for ASP.NET Applications
Counter | Description |
---|---|
Compilations Total |
The total number of times that the Web server process dynamically compiled requests for files with .aspx, .asmx, .ascx, or .ashx extensions (or a code-behind source file). Note: This number initially climbs to a peak value as requests are made to all parts of an application. After compilation occurs, however, the resulting binary compilation is saved on disk, where it is reused until its source file changes. This means that, even when a process restarts, the counter can remain at zero (be inactive) until the application is modified or redeployed. |
Debugging Requests |
The number of requests that occurred while debugging was enabled. |
Pipeline Instance Count |
The number of active request pipeline instances for the specified ASP.NET application. Because only one execution thread can run within a pipeline instance, this number represents the maximum number of concurrent requests that are being processed for a specific application. In most circumstances, it is better for this number be low when the server is busy, because this means that the CPU is well used. |