Welcome to TechNet Blogs Sign in | Join | Help

Ben Parker's Blog

Unnecessarily Awesome
Why doesn’t Microsoft Network Load Balancing spread traffic evenly across its cluster members?

The short answer:  It isn’t designed to, Network Load Balancing is a cool name but it doesn’t accurately describe what it does. 

The longer answer:  NLB doesn’t check for load on servers to determine how to forward traffic from the Virtual IP (VIP).  It’s balancing is designed to be a statistically even load balance for a large client population making many  small requests  NLB is designed for high throughput; it will use Layer2 broadcasts to get the traffic to all nodes in the cluster.  This traffic is then sent to the NLB driver on each node for filtering.  All nodes will perform a statistical mapping to determine which node should handle the packet.  The winning node forwards the packet up the network stack to TCP/IP, and the other nodes discard it.  Filtering traffic like this is faster than routing it.  The statistical mapping is biased on IP address, port number and some pfm (assuming no affinity is set).  This is why we don’t truly see a balance in NLB but a fast diffusion of traffic.

The Really Long Answer

 

Posted: Friday, October 10, 2008 6:47 PM by BenParker

Comments

No Comments

Anonymous comments are disabled
Page view tracker