Load Balancing

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

Load balancing is a term that means many different things. Within a cluster environment, load balancing is typically used in two different ways:

  • Spreading client requests across a set of clones In Windows, Network Load Balancing (NLB) provides the capability to spread client TCP/IP requests across a set of nodes (typically Web servers or ISA arrays or terminal server machines). This functionality can also be provided by external network infrastructure such as CISCO local director.

  • Optimizing the compute resources across a failover cluster A cluster that supports failover allows application instances to move around the cluster. Historically this has been used to ensure that on failure, the application can be restarted elsewhere. However, using this same mechanism could be used with performance counters and application load metrics to provide a way to balance the load of applications across the nodes in a cluster. This can be done in one of two ways:

    • Manual load balancing: Each group in a cluster can be moved around independently of the other cluster groups. By breaking down applications into finely defined groups where it is possible, manual load balancing can be done using the cluster administration tools. If the load on a given node is high relative to the other nodes in the cluster, one or more groups can be manually moved to other cluster nodes.

    • Dynamic load balancing: Today, Server clusters do not provide any load balancing mechanism (beyond a randomized failover policy in Windows Server 2003). Dynamic load balancing is an extremely complex issue, while moving an application may at first appear to make sense, the cost of that move can be hard to determine. For example, moving SQL Server may not only incur the cost of having to re-mount the database, but it also loses the in-memory cache and state which may have a significant impact on performance from the client perspective.