Whilst Windows Network Load Balancing (WNLB) has been constantly improved in each version of Windows since it's introduction in Windows 2000, it still has a fairly extensive list of disadvantages when compared to a hardware or virtual based loadbalancer.
- Causes switch flooding. Unicast mode relies on this to operate, multicast mode also causes switch flooding unless the switch is configured with static mappings of the multicast MAC addresses to the ports that the NLB nodes are connected to.
- Does not support multiple scheduling algorithms for distributing client load.
- Potential uneven spread of workloads across cluster nodes resulting in slow user response times and high latency for the application.
- Cannot detect service outage. It can only detect server outage by IP address. If a particular server service fails, WNLB cannot detect the failure and will still route requests to that server.
- Unable to consider each servers current CPU load and RAM utilisation when distributing client load.
- All hosts in a cluster must be located in the same subnet.
- Only supports source IP address affinity/persistence.
- Since WNLB is incompatible with Windows Clustering, WNLB cannot be used for application such as Exchange DAGs where this is used.
- Manual configuration of all nodes is required making it more difficult to scale and troubleshoot.
- Limited scalability. Based on official figures a WNLB cluster should support up to 32 nodes. However Microsoft frequently state in various articles that a cluster should be limited to 8 nodes.
- Uses local resources on each server in the cluster.
- Performance can degrade as more nodes are added to the cluster.
- More complex than using a dedicated hardware or virtual load balancer.
- Adding or removing a single node can cause clients to reconnect to the WNLB cluster.
- Limited control of source IP NATing so cannot support complex network topologies and security zoning.
- No Layer 7 features such as extended persistence options, multiple scheduling methods, URL re-writing etc.
- Cannot provide reverse proxy services functionality that is required for applications such as Lync.
- Microsoft does not recommend WNLB for application such as Exchange due to performance issues.
A dedicated hardware or virtual load balancer addresses these drawbacks and makes configuring and managing your load balanced environment a whole lot easier!