[This is preliminary documentation and subject to change]

# Scaling Out

Scaling out is the process of adding servers to an existing server environment to improve performance and to increase the number of Web sites that system can host or publish. Scaling out reduces bottlenecks and lock contention because requests coming into the system do not share resources. The request load is balanced between the different servers, which makes the system more robust when dealing with heavy traffic volumes and large file downloads. If you are an ISP or if your Web presence is currently struggling with scalability and performance issues because of high traffic volumes or binary large object downloads (BLOB), scaling out maybe be a solution.

Note See the Performance Monitoring section to learn about the tools and counters that can help you locate where your performance and scalability problems originate. Scaling out requires the purchase of more equipment and software licenses, so you need to understand exactly what is causing your performance and scalability issues before deciding to scale out. Also keep in mind that scalability and performance result vary depending on your configuration, your site, and the size/types of files being downloaded.

## Web Farms

The best way to guarantee the availability and reliability of your Web services is to publish your site with more than one computer, called a Web Farm.

With several computers, your server environment can easily handle large volumes of client requests without creating unwanted delays. Sharing the load among more than one computer is especially vital for an Internet Service Provider (ISP) that supports critical applications: for instance, those that conduct financial transactions, access databases, support corporate intranets, and perform other key functions on a daily basis.

Setting up a Web farm involves clustering and load balancing. For more information about these concepts and for the specific processes for setting up replication and clustering on IIS, see the Windows Whistler online Help.

## Web Gardens

A Web garden is an application pool that has multiple processes serving the requests routed to that pool. You can configure the Web garden to affinitize the processes serving it to a given set of CPU's on a multi-processor system. Using Web gardens, Web applications have increased scalability because a lock does not block all processors in the multi-processor machine. If one worker process serving a pool experiences an ASP lock, the other worker processes are still able to serve content and take over for the locked worker process. Web Gardens take advantage of Dedicated Application Mode and Process Recycling. To enable and configure a Web garden, see Web Gardens.

Related Topics

- For more information about Web Clusters, Web Farms, or Network Load Balancing with Windows Whistler, see the Windows Whistler online Help.

© 1997-2001 Microsoft Corporation. All rights reserved.