Custom Load balancing allows you to distribute client requests across multiple servers and optimize resource utilization. Load balancers improve server fault tolerance and end-user response time. 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.
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 a custom load balancing method, it calculates a load metric for the servers (N) based on server CPU usage, memory and/or response time.
The following example shows how a Load Balancer works using the custom method. The load balancer selects the server by using the value (N) of the following expression:
N = A custom metric calculated on the server for CPU Usage, memory and/or response time.
- Server-1 is using 20 MB of memory.
- Server-2 is using 70 MB of memory.
- Server-3 is using 80 MB of memory.
The requests are delivered as follows:
- Server-1 receives the first, second, third, fourth and fifth request because it has the lowest N value.
- Server-1 and Server-2 then have the same N value, so round robin is performed. Server-2 receives the sixth request, Server-1 receives the seventh request.
- Server-1, Server-2, Server-3 then have the same N value, so round robin is performed.
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.