[This is preliminary documentation and subject to change]

# About Performance Tuning

Tuning your Web server and improving performance allows you to maximize throughput and minimize Web application response times while creating a better experience for clients. Clients do not have to wait as long or as often while the server responds to requests. Tuning helps to avoid bottlenecks and can help extend the time between hardware upgrades or the purchase of new servers for your Web farm. This topic describes the general testing and tuning methodology and the IIS quality of service (QoS) features that are designed to improve the performance, scalability, and reliability of your Web service:

- Testing and Tuning
- Quality of Service

## Testing and Tuning

Performance tuning a Web server should be viewed as an art as much as a science. Trial and error are important in determining what settings and hardware work best for your Web site's requirements. It is important for you to have a plan for evaluating your Web server performance. It is equally important that you understand the profile of your applications or Web sites and how they behave under different conditions.

The first step in your performance tuning plan is to set up a controlled environment in which to test your Web sites, conduct performance analysis of predicted loads, and then measure performance in that environment before you expose your Web server to the Internet. The performance of the server can vary greatly with the amount of browser traffic hitting your site during different periods, so be sure to monitor your test site under a number of different loads to capture a true picture of activity on the server. See Performance Monitoring for more information on tools used to load test and monitor performance.

To improve server performance, examine every part of the system for potential bottlenecks. Bottlenecks can be caused by inadequate or improperly configured hardware or by software settings in either IIS or Windows Whistler. A good monitoring plan checks performance in all areas. For more information about troubleshooting bottlenecks, see About Performance Monitoring.

Once you know how your server is performing, you can begin to make changes aimed at improving performance. Changes should be made one at a time, with a tested rollback plan, or it becomes difficult to assess the impact of individual changes. After each change is made, continue to monitor to see if the change had the desired effect. If you see unwanted side effects, rollback the procedure and return the server to its previous state. It is important to check performance of all resources after making a change because an adjustment to one resource can create bottlenecks in other areas. Once you have assessed the impact of a change, determine whether further changes are necessary.

## Quality of Service

Generally, quality of service (QoS) is the set of methods or processes a service-based organization implements to maintain a specific level of quality. In the context of Windows Whistler, QoS is a set of service requirements that the network must meet to assure an adequate service level for data transmission. In the context of IIS, QoS takes the form of the following features:

- Limiting Connections
- Setting Connection Timeout
- Application Pool Queue Length Limits
- Throttling Bandwidth
- Tracking Processor Use

The goal for the IIS quality of service implementation is to ensure that particular content or components do not take over server resources like memory or CPU cycles. Quality of service in IIS helps administrators control how aspects of IIS (for example, sites, applications pools, or the World Wide Web service as a whole) utilize resources. Basically, quality of service is a process of setting resource consumption limits for particular sites, applications, and/or the World Wide Web service. For more information, see the individual feature topics listed above. Also, see the Windows Whistler online documentation for more information about how Windows implements quality of service at the platform level.

© 1997-2001 Microsoft Corporation. All rights reserved.