Load balancing allows you to distribute client requests across multiple servers. Load balancers improve server fault tolerance and end-user response time. Load balancing distributes client requests across multiple servers to optimize resource utilization. In a scenario with a limited number of servers providing service to a large number of clients, a server can become overloaded and degrade server performance. Load balancing is used to prevent bottlenecks by forwarding the client requests to the servers best suited to handle them. Thus, balancing the load.
In a load balancing setup, the load balancers are logically located between the client and the server farm. Load balancing is used to manage traffic flow to the servers in the server farm. The network diagram shows the topology of a basic load balancing configuration. Load Balancing can be performed on HTTP, HTTP, SSL, FTP, TCP, SSL_TCP, UDP, SSL_BRIDGE, NNTP, DNS, ANY, SIP-UDP, DNS-TCP, and RTSP.
Load balancing uses a number of algorithms, called load balancing methods, to determine how to distribute the load among the servers. When a load balancer is configured to use the least bandwidth method, it selects the server that is currently serving the least amount of traffic, measured in megabits per seconds (Mbps).
The following example shows how a NetScaler selects a service for load balancing by using the least bandwidth method. Consider the following three services:
- Server-1 is handling 3 active transactions.
- Server-2 is handling 5 active transactions.
- Server-3 is handling 2 active transactions.
The load balancer selects the service by using the value (N) of the following expression:
N = Sum of the number of bytes transmitted and received per 14 seconds.
The requests are delivered as follows:
- Server-3 receives the first request because of the lowest N value.
- Server-1 and Server-3 have the same N value, so the load balancer performs round robin to deliver the next request.
- If all three servers have the same N value, the load balancer performs round robin to deliver the next request, until the N values change.
Whether it’s load balancing XenApp Web Interface, iPhone/iPad resources, websites, linux servers, windows servers, e-commerce sites, or enterprise applications, NetScaler is the perfect choice. NetScaler, available as a network device or as a virtualized appliance, is a web application delivery appliance that accelerates internal and externally-facing web application up to 5x, optimizes application availability through advanced L4-7 traffic management, increases security with an integrated application firewall, and substantially lowers costs by increasing web server efficiency.
Citrix NetScaler is a comprehensive system deployed in front of web servers that combines high-speed load balancing and content switching with application acceleration, highly-efficient data compression, static and dynamic content caching, SSL acceleration, network optimization, application performance monitoring, and robust application security.
Available as a virtual machine, the NetScaler is perfect for load balancing virtual servers in the datacenter or in the cloud.