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 connection method, it selects the service with the least number of active connections to ensure that the load of the active requests is balanced on the services. This method is the default load balancing method because it provides the best performance.
The following example shows how a NetScaler selects a service for load balancing by using the least connections method. Consider the following three services:
- Server-1 is handling 3 active transactions.
- Server-2 is handling 15 active transactions.
- Server-3 is not handling any active transactions.
The load balancer selects the service by using the value (N) of the following expression:
N = Number of active transactions
The requests are delivered as follows:
- Server-3 receives the first request because the service is not handling any active transactions.
Note: The service with no active transaction is selected first.
- Server-3 receives the second and third requests because the service has the next least number of active transactions.
- Server-1 receives the fourth request.
When Server-1 and Server-3 have same number of active transactions, NetScaler performs load balancing in a round robin manner. Therefore, Server-3 receives the fifth request, Server-1 receives the sixth request, Server-3 receives the seventh request, and Server-1 receives the eighth request and so forth.
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.