What parameters to consider for Performance Testing?

Posted on Aug 29 2012 - 3:09pm by Raj

Prior to any performance testing it is absolutely critical to determine the performance parameters you need to monitor during the testing. Performance counter data is used to determine the time it takes by a web server application to do a task. Also if you application is showing slow performance then these performance counters will help you to determine the bottle neck location.

Some counter should be used in all tests, while others counter are used to determine unknown performance problems:

The most common performance counters

Object

Performance Counters

Explain

Processor

% Processor Time / _Total

Test client processor usage

Memory

Available Bytes

The amount of memory available for test client.

Network Interface

Bytes Total / sec

Network traffic for the test client

Windows 2000 and IIS 5 performance counters

The following performance counters are used by Microsoft Windows 2000, IIS 5 and Microsoft SQL Server 7.0. For other versions these counters may be different.

With the help of the following counters we can determine which part of the web application is creating the performance bottleneck.

Object

Counter

Explain

Active Server Pages

Memory Allocated

Current total amount of memory allocated by Active Server Pages. If the ratio is more than 50% in the testing process, a server-side object has memory leak.

Active Server Pages

Request Errors / Sec

The number of errors per second, including connection errors, compile errors and run-time error. If the numbers are always greater than 0, then one of the following error exist -the test script, server configuration or ASP script problems.

Active Server Pages

Requests Queued

The counter should be kept close to zero. If the queue size is more than IIS queue length then you will get “server too busy” error.

Active Server Pages

Requests Rejected

If the number is often greater than 0, the test is overloading the server or the server itself does not have sufficient resources.

Active Server Pages

Requests / Sec

ASP number of requests per second.

Internet Information Services Global

File Cache Flushes and File Cache Hits

You can view these counters by comparing the ratio of cache hits and cache cleanup. Deleting file from the cache is called cache refresh. If the cache refresh is too slow then you have waste of memory.

This value can be adjusted by modifying ObjectCacheTTL, MemCacheSize, and MaxCacheFileSize registry. For more information, please refer to the Windows 2000 Resource Kit.

Internet Information Services Global

File Cache Hits%

The ratio of the number of cache hits to total cache requests. For a site having a static page, the value is about 80%.

Memory

Available Bytes

The remaining amount of physical memory available. A basic IIS will take 2.5 MB of memory and each additional connection would take approximately 10KB.

Memory

Cache Bytes

For static file cache size. The default setting is available for about 50% of the memory, but it will be reduced with the reduction of available memory, which reduces system performance.

Memory

Page Faults / sec

This is handled by the CPU, the overall rate of error page. Page Faults / sec does not distinguish between hard and soft page faults, but able to calculate these errors.

Memory

Pages / sec

If the server is constantly our of memory then this value will remain high.

Memory

Pool Paged Bytes and Pool Nonpaged Bytes

It is a pool to accommodate objects created and used by the application and the operating system . If the pool is filled, the memory leak may occur.

Network Interface

Bytes Total / sec

This is used to determine the potential network problem by calculating the total bandwidth available. In general the

bytes / sec should be less than 50% of the total available bandwidth.

Object

Threads

A thread is the basic executable entity of processor instructions. If the value has been rising without closing the old thread mean you are having a thread leak problem.

PhysicalDisk

% Disk time

It is the percentage of time it takes to do Disk read / write activity. If the counter value is high and the processor and network bandwidth is not saturated, you may have a disk bottleneck. If the value persists for more than 80%, it may be a memory leak.

PhysicalDisk

Disk Queue Length

Displays the number of requests that the disk could not complete. If the queue length is always greater than 3 then it is a disk or memory, or SQL server configuration problem.

Process

Private Bytes – _Total

Displays the current number of bytes in all instances has been allocated but not shared with other processes.

Process

Private Bytes (inetinfo instance)

Private Bytes (inetinfo) is the number of bytes of the HTTP / ASP services that have been allocated but not shared with other processes. If the value is always large and growing, it is a server-side object leaks. Please use Private Bytes (_Total) for comparison.

Process

Thread Count (inetinfo instance)

The number of threads created by the Web server process.

Processor

% Processor Time (_Total instance)

This is the best counter to view processor saturation conditions. The thread of all the CPU processing time. If for one or more processors, the value is more than 80% to 90% then the test is generating a load which the current hardware cannot support.

Check this counter for all 0 to x instance of a multi-processor server.

Processor

Interrupts / sec

If Interrupt Time is greater than 15%, the processor may be overloaded and causing frequent interruption.

Server

Bytes Total / sec

Show network activity.

System

Processor Queue Length

The number of threads waiting to be executed in the queue shared by all processors of the Web server.

Thread:

% Processor Time: InetInfo => Thread #

Show InetInfo process threads used the processor time.

Thread:

Context Switches / sec: InetInfo => Thread #

The IIS service threads occupy and release processors Views.

Web Service

Bytes Total / sec

Displays the total number of bytes used by the Web server to send and receive.

Web Service

Current Anonymous Users

Show the current number of connections which are unauthenticated

Web Service

Current Non-Anonymous Users

Current connection authenticated users to the HTTP server.

Web Service

Not Found Errors

The number of times error code 404 received in response

Other performance counters

If the Web application using Microsoft SQL Server or rely on any other application to generate a response, the following counters are monitored:

Object

Counter

Explain

SQL Server: General Statistics

Logins / sec

Total number of seconds needed to Log on to the SQL Server.

SQLServer: Cache Manager

Cache Hit Ratio (all instances)

Find the data in the cache hit rate. If the value remains less than 85%, then memory can be a problem.

SQLServer: General Statistics

User Connections

Displays the current SQL users.

SQL Server: Databases

Transactions / sec

Total number of transactions.

SQLServer: Locks

Lock Waits / sec

Number of process locks per second prior to the completion of the current process. If the value is always greater than 0, it indicates that the volume of transaction is in question.

 

About the Author

Leave A Response