HOW TO: Analyze ASP.NET Web Application Performance by Using the Performance Administration Tool (815159)



The information in this article applies to:

  • Microsoft ASP.NET (included with the .NET Framework) 1.0
  • Microsoft ASP.NET (included with the .NET Framework 1.1)

SUMMARY

This step-by-step article describes how to analyze ASP.NET Web application performance by using the Performance Administration tool.

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.
This article describes the most important counters that you can use to analyze the performance of ASP.NET applications. This is not a complete list of ASP.NET counters. Only the minimal counters that you must have to gauge the performance of an application are described.

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:
  1. On the taskbar, click start, point to Settings, and then click Control Panel.
  2. Double-click the Administrative Tools folder and then double-click Performance tool.
  3. 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 ObjectCounterInstance (if necessary)Description
    Process% Processor Time aspnet_wpThe 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.
    ProcessWorking Setaspnet_wpThe 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 ApplicationsRequests/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 ApplicationsSessions 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.NETState Server Sessions ActiveThis 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 TimeThis 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.
back to the top

REFERENCES

For more information about monitoring performance thresholds, see the .NET Framework SDK documentation or visit the following Microsoft Web site:

http://msdn.microsoft.com/library/en-us/vbcon/html/vboriinstrumentingperformancethresholdsonserver.asp

back to the top



Modification Type:MinorLast Reviewed:4/30/2003
Keywords:kbPerformance kbweb kbHOWTOmaster KB815159 kbAudITPRO