You are on page 1of 6

Web Server Monitoring and Performance Counter Analysis

Murali Bodagala Murali.bodagala@tcs.com TATA Consultancy Services Hyderabad, India

Abstract

Continuous and end to end server monitoring is require to deliver high available, performance, reliable and stable web applications. Application performance depends on various performance counters which needs be carefully monitored on day to day basis, this article discuss the performance counters that are most helpful in diagnosing stress and performance related issues in Microsoft ASP.NET applications, what precautions need to be taken in order to fix the potential problem, and other resources that can be used to monitor the health of an ASP.NET application.

Introduction

Monitoring web server performance plays critical role in delivering high scalable and reliable application, the primary tool for diagnosing a system's performance is Performance Monitor (PerfMon.exe). Performance Monitor tool collects the specified performance counters registered by system administrators, these counters corresponds to a specific aspect of system performance. By selecting the counters appropriate to the requirement, that helps administrator’s to monitor ASP.NET Application performance in a better way and can able to diagnose system performance at a granular level. This paper discusses the important counter sets that are very useful in monitoring ASP.NET performance.

Performance counters are not just to diagnose performance problems, including finding memory leaks, but to prevent them from occurring in the first place. In many organizations, it is common practice to collect the Performance counters in the organization's servers on a constant basis. It is good practice to set the counter sampling frequency to low so that Performance data collection minimally impacts the server's performance. Some organizations collects the sample performance data is once an hour or a few times a day based on the stability of the system.

Long-term data analysis shows the trend of the increased server load over time for each server. This information is important for taking preventive actions to performance related issues that can occure down the road.

The drawback with Performance Monitor is there are hundreds of performance counters, unless choosing right counters that actually measure the performance and interpret the collected data rightly, performance counter data is worthless.

Performance counters

Performance counters of the following critical system resources need to be monitored for web Server and IIS

Memory

Processor

Hard Disk

Network

WWW Service

Active Server Pages

Memory:

Following table contains the counters related to Memory management, these counters help in determining the problems that are related to memory issues.

Counter Name

Ideal value

 

Pages per second

Less than 20 (consider improving RAM if over 80)

Available bytes

Maintain over 20MB.

committed bytes

Not more than 75 percent of physical memory size

pool non paged bytes

Steady (a slow rise may indicate a memory leak)

Available Memory. Total amount of memory that is left after nonpaged pool allocations and paged pool allocations

Pages/sec. This value is indicate number of page inputs and outputs per second

Committed Bytes. Total amount of memory that has been allocated for the exclusive use of any of processes,

Nonpageable memory pool bytes. This is size of physical system memory for objects that cannot be written to disk even when they are not being used. An uncontrolled increase in this value would be indicative of a memory leak in a Kernel level service or driver.

Processor:

Processor related bottlenecks can be identified by analyzing the following counter that is listed in below table.

Counter Name

Ideal value

% Processor Time

Less than 50% on any processor

% Processor Time is the percentage of elapsed time that the processor spends to execute a non-Idle thread.

Hard Disk:

Hard disk related bottlenecks can be identified by analyzing the following counters that is listed in below table.

Counter Name

Ideal value

% Disk Time

Maintain a low value

PhysicalDisk Avg. Disk

Less than 4

Queue Length

 

% Disk Time counter monitors the percentage of time that the disk is busy with read/write activity.

PhysicalDisk Avg. Disk Queue Length is the average number of both read and writes requests that were queued for the selected disk during the sample interval.

Network:

Hard disk related bottlenecks can be identified by analyzing the following counters that is listed in below table.

Counter Name

Ideal value

Bytes Total/sec

Less than 70 megabytes/second for 1000

 

Mbps network adaptor

Bytes Total/sec indicates the rate at which the network adaptor is processing data bytes. This counter includes all application and file data.

WWW Service:

WWW service related bottlenecks can be identified by analyzing the following counters that is listed in below table.

Counter Name

Ideal value

Bytes Total/sec

As high as possible

File Cache Hits

As high as possible

File Cache %,

As high as possible

ISAPI Extension

No threshold value

Requests/sec

 

Bytes Total/sec indicates the rate at which the network adaptor is processing data bytes. This counter includes all application and file data.

File Cache Hits is total Number successful lookups for all ASP.NET application cache calls.

File Cache % is the ratio of file cache hits to total cache requests. Note that the Windows counter calculates this value as a historical average since the last restart, but Load Tester does not.

ISAPI Extension Requests/sec is the rate that ISAPI Extension requests are received by the Web service.

WWW Active Server Pages:

The performance counters of the Active Server Pages object should be enabled to monitor ASP are listed below.

Counter Name

Ideal value

Requests/Sec

No threshold value

Request Queued

maintain a low counter value

   

Request Wait Time

maintain a low counter value

   

Requests/Sec, The number of requests executed per second, a drop of this counter during heavy load could mean that your applications might be a bottleneck.

Request Queued The number of ASP.NET requests in the application request queue.

Request Wait Time is the amount of time the most recent request was waiting in the queue.

Analysis of Performance Counters

Manually monitoring and analyzing the performance counters is tedious task, Performance Analysis of Logs (PAL) Tool is makes the analyzing job easy, this tool analyzes the performance logs and generates the reports with graphs and alters the administrator’s on the counters that are reaching threshold limits. This tool can be freely downloaded from www.pal.codeplex.net.

Following screenshots are generated as part of the PAL report by PAL tool for Physical Disk Avg. Disk Queue Length performance counter; spikes in the graph represent the Disk Queue Length.

Request Wait Time maintain a low counter value Requests/Sec , The number of requests executed perwww.pal.codeplex.net . Following screenshots are generated as part of the PAL report by PAL tool for Physical Disk Avg. Disk Queue Length performance counter; spikes in the graph represent the Disk Queue Length. " id="pdf-obj-4-29" src="pdf-obj-4-29.jpg">

Report also generates the thresholds that were hit for a specific time and their associated values.

Report also generates the thresholds that were hit for a specific time and their associated values.http://technet.microsoft.com/en-us/library/cc768048.aspx - Performance Monitor Counters [5]. http://pal.codeplex.com/ - Performance Analysis of Logs (PAL) Tool " id="pdf-obj-5-4" src="pdf-obj-5-4.jpg">

Above report is identified the critical threshold for PhysicalDisk Avg. Disk Queue Length that could be affecting overall performance, PAL tool allows for very quick counter analysis to see which counters could be affecting overall server performance.

Reference

[1]. http://www.tech-faq.com/iis-performance-monitoring-and-tuning.html - IIS Performance Monitoring and Tuning

[2]. http://msdn.microsoft.com/en-us/library/ms972959.aspx - ASP.NET Performance Monitoring, and When to Alert Administrators

[3]. http://searchwindowsserver.techtarget.com/tutorial/Performance- monitoring-tools-for-Windows - Performance monitoring tools for Windows

[5]. http://pal.codeplex.com/ - Performance Analysis of Logs (PAL) Tool