Subscribe to Windows IT Pro

 

Get Newsletters

  • Get the Latest News
  • Product Updates
  • Helpful Tricks
  • Productivity Tips

Subscribe Now!

August 14, 2001 12:00 AM

The Tao of Network Load Balancing

Windows IT Pro
InstantDoc ID #21838
Rating: (1)
Downloads
21838.zip

Configuring NLB clusters to achieve balance in your IIS 5.0 Web farm

Windows 2000's Network Load Balancing (NLB) is a clustering technology that balances the network traffic of IP-based applications, such as Web, FTP, and VPN applications, across multiple servers. A software-based load-balancing solution available in Win2K Advanced Server and Win2K Datacenter Server, NLB streamlines administration by letting you manage a group of independent servers as one system. Administrators typically use NLB to evenly distribute Web client requests among Web servers, such as in a Microsoft Internet information Services (IIS) 5.0 server farm.

Load balancing is more than just distribution of Web traffic. Now is the time to dispel some common myths about load balancing in general and about NLB in particular. To attack these myths, I want to explore Win2K's NLB in depth to reveal the ease with which you can configure NLB and put this powerful utility into action.

The Benefits of NLB
Load-balanced servers (aka hosts) in an NLB cluster provide two important benefits. First, NLB scales IIS's performance by distributing client requests across multiple hosts within the cluster. As traffic increases, you can add servers (up to a maximum of 32 servers) to a cluster. You can add or remove hosts from a cluster without interrupting services. Second, NLB provides high availability (i.e., continuous service) by detecting server failures within a cluster and automatically repartitioning client traffic among the remaining available servers.

NLB distributes IP traffic to multiple instances of IIS, each running on a host within the cluster. NLB transparently partitions the client (i.e., user) requests among the hosts and lets the clients use one or more "virtual" IP addresses to access the cluster. To the clients, the cluster appears to be one server. Also, server programs aren't aware that they're running in an NLB cluster.

NLB hosts emit periodic "heartbeat" messages so that you can monitor all cluster members. These heartbeat messages impose very low overhead on the network. The software detects host failures within 5 seconds and accomplishes recovery within 10 seconds. If a load-balanced host goes down or if a new host goes online, NLB automatically and transparently redistributes the workload among available cluster hosts. (For more information about NLB, see "Related Articles.")

Dispelling NLB Myths
The performance and features of Win2K's NLB match, and in many cases exceed, the benefits of expensive hardware-based solutions (e.g., solutions from Cisco Systems and Nortel)—at a fraction of the cost. NLB's only real limitation is that a cluster can't have more than 32 servers, but large sites such as Dell (http://www.dell.com) and Microsoft (http://www.microsoft.com) typically use multiple clusters to overcome that limitation. Nevertheless, you'll encounter several pervasive myths about load balancing and about Win2K's NLB in particular:

You need load balancing only if you run a large site. You don't need to be running a huge Web site to justify implementing a load-balancing solution. In many cases, simply adding a second IIS server to create a Web farm can dramatically improve performance.

Win2K NLB doesn't measure up to hardware-based solutions. Some of the world's largest Web farms—http://www.dell.com, TV Guide Online, Microsoft's Web properties (i.e., http://www.microsoft.com, MSN, MSNBC, and the Expedia travel service)—use NLB. In Microsoft's load-balancing tests, which emulate scenarios in which a server farm handles more than 800 million customer requests per day, NLB demonstrated better than 200Mbps throughput. This performance is far superior to that of any hardware solution. Unlike hardware solutions, NLB avoids single points of failure by running in parallel on all of a cluster's hosts (i.e., servers). Most hardware solutions require an extra, underutilized server to avoid a single point of failure. The extra server operates in passive mode until a primary component fails.

NLB is difficult to install, configure, and manage. You don't install NLB; you simply enable and configure it. As you'll see, NLB is extremely easy to put into action and provides excellent control, including the ability to remotely manage—with password protection—the cluster from any point on your network.

NLB Requirements
Win2K AS is compatible with almost all Ethernet and Fiber Distributed Data Interface (FDDI) NICs, so NLB has no specific Hardware Compatibility List (HCL). Also, NLB doesn't require a second NIC for its heartbeat messages (although a second NIC might benefit performance). NLB is installed as a standard networking device driver under Win2K AS or Datacenter and requires static IP addresses for all cluster hosts.

NLB requires less than 1MB of disk space on each cluster server. If you use NLB's default parameters, the software consumes between 250KB and 4MB of RAM during operation, depending on the network load. You can modify these parameters to let NLB use as much as 15MB of RAM.

For optimum performance, you can install a second NIC on each NLB host. In this recommended configuration, one NIC carries all network traffic that results from client requests and the other NIC handles the network traffic between the server and the NLB software. Running NLB in a cluster in which hosts have only one NIC can be complicated. If you don't run in multicast mode, performance will suffer. Multicast mode instructs NLB to add a multicast media access control (MAC) address to the cluster adapters on all cluster hosts. If you run NLB with single NICs in multicast mode, you won't experience any shortcomings, but multicast mode requires special configurations in some routers. (For example, Cisco Systems' routers don't support the resolution of unicast IP addresses to multicast MAC addresses.)

Related Content:

ARTICLE TOOLS

Comments
  • V
    4 years ago
    Jun 20, 2008

    None

  • Ahmed Yehia
    11 years ago
    Dec 02, 2001

    I have configure NLB before reading this Article,But this article explains it very good,
    Hope to read articles on Windows Cluster Service
    Thanks

  • Anthony Paulina
    11 years ago
    Aug 21, 2001

    I'm interested in hearing more about how NLB was used to load balance printing... i thought you needed to setup an MSCS Cluster to provide failover support for printers

You must log on before posting a comment.

Are you a new visitor? Register Here

advertisement

advertisement

White Papers

Get your Windows 7 deployment off to the right start by implementing PC lockdown. A locked-down environment is easier and cheaper to support since users are less likely to make unnecessary changes to the core system configuration - read more here!

Essential Guides

Is your iSCSI "lossy"? The reality is that most off-the-shelf Ethernet hardware deployed for iSCSI can lose packets, resulting in slow performance or application downtime. Learn how to assess your current iSCSI infrastructure and engineer an advanced iSCSI SAN infrastructure.

Web Seminars

What's the best way to keep your network safe from malware? In this web seminar, security expert Greg Shields suggests an alternative method to the traditional blacklisting approach that is common with anti-virus and anti-malware solutions.

eLearning Series

We bring the experts direct to you to share their real-world perspective and expertise. During each event, three sessions stream in real time, so you can learn, ask questions, and get solutions.
Upcoming event: Getting the Most with Exchange 2010 with Paul Robichaux

Subscribe to Windows IT Pro!

Windows is a trademark of the Microsoft group of companies. Windows IT Pro is used by Penton Media Inc. under license from owner.