ASP.NET provides a lot of information through standard performance counters. The standard performance counters can be monitored by using the Performance snap-in. This information is useful for system administrators who must understand the performance characteristics of an ASP.NET application. The performance counters can reveal the time it takes to render pages, the burden placed on the processor, and the number of active ASP.NET sessions.
Monitoring these key counters is useful under the circumstances that follow:
- You can create a performance baseline and then use this baseline to measure the impact of configuration changes and application upgrades.
- You can validate changes that are made to the configuration of an application specifically to improve performance.
- You can verify that hardware upgrades have the effect that you want on performance.
- You can monitor the performance of the application under load. The load can be either real or artificially generated by a tool such as the Web Application Stress tool.
- You can determine the performance impact of application upgrades.
back to the top
Key Performance Monitor Counters
These counters are most easily viewed by using the Performance snap-in. To run the Performance snap-in, follow this steps:- On the taskbar, click start, point to Settings, and then click Control Panel.
- Double-click the Administrative Tools folder and then double-click Performance tool.
- When the Performance snap-in starts, click to select the
System Monitor object in the left pane and then click
Add on the tool bar to add the counters that are described in
the following table.
Performance Object Counter Instance (if necessary) Description Process % Processor Time aspnet_wp The percentage of the time that is processor time consumed by ASP.NET. When you compare performance under standard load against a previously captured baseline, decreases in this counter reveal lower processor requirements, and therefore greater scalability. Process Working Set aspnet_wp The quantity of memory that is actively used by ASP.NET. While the application developer has the most control over how memory is consumed by the application, system administrators can have a significant impact by adjusting the session time-out period. ASP.NET Applications Requests/Sec __Total__ When you analyze performance against an artificially generated load, this counter permits you to verify that requests are handled as quickly as they are sent. If the number of requests per second falls below the number of requests that are generated per second, queuing is occurring. This means that the maximum request rate has been surpassed. When you analyze actual user load in a production environment, this counter reveals how busy the site is. ASP.NET Applications Sessions Active __Total__ This counter shows the number of ASP.NET sessions that have been created but have not timed out. Session-enabled ASP.NET applications create a new session when a user request is submitted without a cookie. Sessions are removed when the application destroys the session or when the session times out. By default, ASP.NET sessions time out after 20 minutes. Each session consumes memory. Therefore, if you reduce the session time-out, you may improve performance if the session uses a large quantity of memory, and a significant number of sessions are active. Monitor the Working Set counter to measure the impact that session time-out has on memory consumption. ASP.NET State Server Sessions Active This counter shows the same information as the Sessions Active counter in the ASP.NET Application performance object. Use this counter when a state server is used instead of in-process sessions. ASP.NET Request Execution Time This counter shows the time, in milliseconds, that it takes to render the last requested page and then transmit it to the user. This counter will generally be greater than the time a trace shows to render the page. This counter is a more comprehensive measurement of start-to-finish request time. If this counter shows a lower average when compared to a baseline, then both the scalability and the performance of the application have been increased.