SUMMARY
This article describes how to use the Performance
Administration Tool to analyze the performance of .NET Framework-based Windows
applications.
Performance monitoring for .NET Framework applications
differs from conventional Windows applications in several ways. The most
fundamental difference is that applications are executed by the common language
runtime (CLR). The common language runtime accepts requests for resources from
applications, determines whether the application is permitted to have access,
and prioritizes requests when resource conflicts occur.
This approach gives the
common language runtime unique insight into application performance. Much of
this information is exposed to the administrator through a set of ten .NET
common language runtime performance objects. These objects can be monitored
using the Performance snap-in. You can also monitor .NET Framework-based
applications by using the standard performance counters, including the Process
performance object. The Process performance object reveals detailed information
about a single application's processor, memory, and I/O usage.
The
ASP.NET Web applications and Web services run in the Aspnet_wp.exe process and
have their own dedicated set of performance counters.
For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
815159
HOW TO: Analyze ASP.NET Web Application Performance by Using the Performance Administration Tool
back to the
topUse the Key Performance Monitor Counters
Although these counters are a small subset of the information
available about .NET Framework applications, they make up the most important
information available about managed applications. The easiest way to view this
information is to use the the Performance snap-in.
To start and use
the Performance snap-in, follow these steps:
- Click Start, point to
Settings, and then click Control
Panel.
- Double-click Administrative Tools, and
then click Performance.
- In the left pane of the Performance window, select
System Monitor.
- On the right pane toolbar, click Add to
add the counters that are described in the following table:
Performance Object | Counter | Instance (if
needed) | Description |
Process | % Processor Time | Application
Process Name | The percentage of the processor's time that is consumed by
the .NET application. |
Process | Working Set | Application Process
Name | The amount of memory being actively used by the application. |
.NET CLR LocksAndThreads | Current Queue
Length | _Global_ | The common language runtime arbitrates requests
from .NET-based applications for system resources. Occasionally, multiple
applications try to access the same resource-for example, a file on a disk.
When this occurs, the common language runtime forces one of the applications to
wait. The Current Queue Length counter shows the number of requests currently
waiting. An increase in this number indicates a resource conflict and a
possible source of performance problems. |
.NET CLR Networking | Bytes Sent, Bytes
Received | | When tuning the network utilization of an
application, these two counters let you know the total traffic sent by all
.NET-based applications. Note that these counters do not let you monitor a
specific .NET-based application. However, they do not measure network traffic
that is generated by applications that do not use the common language
runtime. |
.NET CLR Data | SqlClient: Current # Pooled and
Nonpooled Connections | | A measure of the number of database
connections generated by all .NET Framework applications. Although there is no
way to monitor the connections that are opened by a specific application, this
counter is useful for detecting applications that use database connections
inefficiently. Inefficient use of connections can cause performance problems at
the database server. |
back to the
topREFERENCES
For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
818015
HOW TO: Tune and Scale Performance of Applications That Are Built on the .NET Framework
For more information, visit the following Microsoft Web
site:
back to the
top