Enhance application performance and scalability with load balancing algorithms.
How to size your load balancer 30 Day Free TrialLoad balancing algorithms are the decision-making rules that determine how incoming application or network traffic is distributed across multiple servers. By intelligently directing each request to the most appropriate server, these algorithms help optimize performance, maximize resource utilization, prevent server overload and maintain high availability. Each algorithm is designed to balance traffic based on factors such as server capacity, active connections or response speed. Modern load balancers often use a combination of algorithms to ensure applications remain fast, reliable and resilient even during periods of high demand.
The Progress® Kemp® LoadMaster® solution supports a rich set of load balancing algorithms, ranging from simple Round Robin to adaptive methods that respond in real time to server health and capacity data. The load balancing algorithm you configure in a LoadMaster service depends on the type of application being hosted and the performance and capacity profile of the servers behind it — different workloads respond better to different distribution methods. LoadMaster makes it straightforward to select, configure and switch between load balancing algorithms per virtual service, without requiring downtime or complex reconfiguration.
LoadMaster’s load balancing methods are outlined below, along with some guidance on appropriate usage scenarios.
Round-robin load balancing is the simplest and most commonly-used load balancing algorithm. Client requests are distributed to application servers in simple rotation. For example, if you have three application servers: the first client request is sent to the first application server in the list, the second client request to the second application server, the third client request to the third application server, the fourth to the first application server, and so on.
Round robin load balancing is most appropriate for predictable client request streams that are being spread across a server farm whose members have relatively equal processing capabilities and available resources (such as network bandwidth and storage).
Weighted round robin is similar to the round-robin load balancing algorithm, adding the ability to spread the incoming client requests across the server farm according to the relative capacity of each server.
This load balancing algorithm is most appropriate for spreading incoming client requests across a set of servers that have varying capabilities or available resources. The administrator assigns a weight to each application server based on criteria of their choosing that indicates the relative traffic-handling capability of each server in the farm.
So, for example: if application server #1 is twice as powerful as application server #2 (and application server #3), application server #1 is provisioned with a higher weight and application server #2 and #3 get the same, lower, weight. If there are five (5) sequential client requests, the first two (2) go to application server #1, the third (3) goes to application server #2, the fourth (4) to application server #3. The fifth (5) request would then go to application server #1, and so on.
Least connection load balancing is a dynamic load balancing algorithm where client requests are distributed to the application server with the least number of active connections at the time the client request is received.
In cases where application servers have similar specifications, one server may be overloaded due to longer lived connections; this load balancing algorithm takes the active connection load into consideration.
This load balancing technique is most appropriate for incoming requests that have varying connection times and a set of servers that are relatively similar in terms of processing power and available resources.
Weighted least connection builds on the least connection load balancing algorithm to account for differing application server characteristics. The administrator assigns a weight to each application server based on the relative processing power and available resources of each server in the farm.
LoadMaster makes load balancing decisions based on active connections and the assigned server weights (e.g., if there are two servers with the lowest number of connections, the server with the highest weight is chosen).
Resource based (or adaptive) load balancing makes decisions based on status indicators retrieved by LoadMaster from the back-end servers. The status indicator is determined by a custom program (an “agent”) running on each server. LoadMaster queries each server regularly for this status information and then sets the dynamic weight of the real server appropriately.
In this fashion, the load balancing method is essentially performing a detailed “health check” on the real server. This method is appropriate in any situation where detailed health check information from each server is required to make load balancing decisions.
For example: this load balancing algorithm would be useful for any application where the workload is varied and detailed application performance and status is required to assess server health.
This load balancing method can also be used to provide application-aware health checking for Layer 4 (UDP) services via the load balancing method.
SDN (Software Defined Network) adaptive is a load balancing algorithm that combines knowledge from Layers 2, 3, 4 and 7 and input from an SDN (Software Defined Network) controller to make more optimized traffic distribution decisions.
This allows information about the status of the servers, the status of the applications running on them, the health of the network infrastructure, and the level of congestion on the network to all play a part in the load balancing decision making.
This load balancing method is appropriate for deployments that include an SDN (Software Defined Network) controller.
Fixed weighting is a load balancing algorithm where the administrator assigns a weight to each application server based on criteria of their choosing to represent the relative traffic-handling capability of each server in the server farm. The application server with the highest weight will receive all of the traffic. If the application server with the highest weight fails, all traffic will be directed to the next highest weight application server.
This load balancing technique is appropriate for workloads where a single server is capable of handling all expected incoming requests, with one or more “hot spare” servers available to pick up the load should the currently active server fail.
The weighted response time load balancing algorithm that uses the application server’s response time to calculate a server weight. The application server that is responding the fastest receives the next request.
This load balancing algorithm is appropriate for scenarios where the application response time is the paramount concern.
The source IP hash load balancing algorithm uses the source and destination IP addresses of the client request to generate a unique hash key which is used to allocate the client to a particular server.
As the key can be regenerated if the session is broken, the client request is directed to the same server it was using previously.
This load balancing method is most appropriate when it’s vital that a client always return to the same server for each successive connection.
To know, how LoadMaster load balancing works, watch this demo:
Take a quick guided tour of Kemp LoadMaster web user interface (WUI) for set-up and configuration of load balancing algorithms.
Kemp Rated 4.9/5
“Excellent Product
and Outstanding Support”
Kemp Rated 4.7/5
“Easy to setup and maintain.
Excellent reliability”
Kemp Rated 8.1/10
“Robust, Scalable and Cost-effective way
to load balance”
A load balancing algorithm is the method a load balancer uses to determine which server should receive an incoming request. The algorithm helps distribute traffic across multiple servers to improve application availability, performance and scalability while preventing any single server from becoming overloaded. Different algorithms are designed for different traffic patterns, application requirements and infrastructure environments.
Some of the most widely used load balancing algorithms include Round Robin, Weighted Round Robin, Least Connections, Weighted Least Connections, Source IP Hash and Adaptive or Health-Aware Routing
Round Robin distributes traffic sequentially among available servers, regardless of their current workload. It is simple, efficient and works well when servers have similar capacity and requests require roughly the same amount of processing.
Least Connections is a dynamic algorithm that directs new requests to the server with the fewest active connections. This approach is often more effective when request durations vary or when workloads are unpredictable because it helps prevent busy servers from receiving additional traffic.
Kemp LoadMaster provides multiple load balancing algorithms and allows administrators to select the one that best fits their application requirements and infrastructure. The choice depends on factors such as server capacity, application behavior, session persistence requirements and traffic distribution patterns. LoadMaster also supports advanced traffic management capabilities such as health monitoring, application-aware routing and policy-based traffic control, enabling organizations to optimize application delivery for performance, availability and resilience