[This is preliminary documentation and subject to change]

# Scalability Testing

Scalability and performance can be impacted on many levels, which means any change to your server environment can potentially impact performance and scalability in a negative way. For example, one poorly designed custom built component can reduce the performance of a server capable of processing thousands of requests per second to 30 requests per second. Considering that all changes, even changes designed to improve performance and scalability, have the potential to negatively impact performance and scalability, it is important to understand that there isn't a formula or checklist for fixing all of your performance and scalability issues. Improving performance and scalability requires theories and testing. If you want to improve the performance and scalability of your server environment, be prepared to test at every level and test after every change.

Scalability Testing: Goals for scalability testing are typically aligned with scalability objectives.

Goal | Scalability Testing
--- | ---
Scaling Up (processor scaling) | Performance testing to see how well performance increases as you add processors and memory.
Scaling Out (machine scaling) | Performance testing to see how well performance increases as you add servers.
Host Scaling (Administering Large Quantities of Sites) (administering thousands of sites) | Determining how many sites a given machine can handle, assuming a constant load and a given throughput requirement.

Before adding hardware, servers, or thousands of sites to a server establish a baseline about the performance and scalability of your server in a test environment that mimics your production environment. Once you have established this baseline, you will know very quickly if a change to your system has positive or negative effects. Also, be sure to test applications for scalability. Adding ASP or COM applications to your system can improve scalability but those applications must constantly be tested to make certain they are working properly. Be prepared to remove and redesign an application if you determine through testing that the application reduces your performance or scalability.

To help you establish a baseline and perform regular performance and scalability testing, see Tools Used to Monitor Performance for a description of the following monitoring tools.

- System Monitor
- Event Viewer
- Task Manager
- Network Monitor
- Microsoft Web Application Stress Tool (WAST)
- Application Center Test (ACT)

You can also monitor your server by examining logs generated by IIS. These logs extend beyond those generated by Windows Whistler. For information about logging, see the topics listed in Logging Site Activity.

Related Topics

- Tools Used to Monitor Performance
- Performance Tuning
- Performance Monitoring

© 1997-2001 Microsoft Corporation. All rights reserved.