System Monitor (also known as perfmon) is a utility tool that can be used to track the performance of an application in real time. System Monitor allows you to log the data collected by the tool. This is important because it is not likely that you will have someone available to continually watch the graph as it displays activity. Logging allows you to save this data and review it later. Data can be saved to a log file or a database table. You can create alerts that apply to specific performance counters. The counter represents the measurement of a specific performance object or system component. Alerts will be triggered when the value of a counter is over or under some predetermined threshold.
Identifying Performance Spikes
A performance spike is an anomaly that would likely go undetected if performance was not being tracked and logged. It represents a temporary rise in activity, which might not be handled gracefully by the application. If spikes happen too often, it could be an indication that the server hosting the application is overloaded. In certain situations, it might be necessary to make a change to the application or the application environment.
Once you have determined which counters to add, you can create a log that records the data collected for a specified period of time.
The log file will represent your performance baseline and can be compared against data collected in the future. The important thing here is to ensure that your baseline was recorded at a time when the application was performing satisfactorily — in other words, no errors were experienced, and the response to users was fast and consistent.
Tracking Page Response Times
Page response time is one of the most important factors in determining the success of your Web site. If users are forced to wait several seconds for a Web page to be fully rendered, they will quickly become frustrated. Therefore, it is important for you to keep an eye on how fast your Web application renders Web pages.
Once you have identified the Web pages to measure, you will need to use a tool such as the Microsoft Web Application Stress Tool (available as a free download from MSDN at here to simulate the load. This tool can be used to simulate multiple requests to the same Web page through a recorded script.
At the same time, you will use System Monitor to measure certain counters related to page response time, such as requests per second.
Another tool that you can use to simulate user requests (specifically, dynamic requests that use variables) is Microsoft Application Center Test (ACT), which comes bundled with Microsoft Visual Studio Enterprise Edition. This tool offers several helpful features and can be considered an advanced tool for analyzing your applications performance.
System Monitor allows you to store collected data in a log file or a Microsoft SQL Server database. By doing this, you can maintain a log of data that is analyzed periodically. You can access the log properties by clicking the View Log Data button on the Performance console toolbar or by pressing Ctrl+L. To log the data to a SQL Server database, you will need to specify a system data source name (DSN) along with a time range.
Tracking Logon Times
You can use performance counters to track user and connection activity. This type of monitoring can be useful for determining the number of users accessing your application. It can also help identify problems with the application keeping too many connections open.
You might also wish to track the specific logon times for users of your application. This type of information can be useful not only as an auditing tool but might indicate trends such as users from one department accessing the system more than users from another department. It can also be useful to track logon failures and either write these failures to the server’s application event log or alert a server administrator.
- System Monitor (or perfmon) is a utility tool that you can use to collect data about how your ASP.NET application is performing. You can add one or more counters to a realtime graph, and the data values can be saved to a database or log file.
- Performance spikes represent a temporary rise in the value of a counter. They might or might not indicate a problem with the application.
- Performance trends can be identified by comparing the values of several data counters against a baseline. The baseline represents the same set of counter data, recorded during a time when the application was performing well.
- User and connection properties can be tracked to indicate how many and what types of connections are being made.
- You can create alerts in which certain actions are performed when a performance counter exceeds or falls below a certain value.