Load balancing is an essential part of F5 BIG-IP as it is meant for automatic balancing and distributing traffic across real physical servers, Infact this feature was the indispensable part of F5 when it initially started. F5 BIG-IP uses various types of algorithms or methods to determine the server/application to which traffic will be sent. There are several types of algorithms/methods an F5 box can use depending on array of factors (Nature of the application/ Hardware availability) to balance the load across real servers. This primary intent for load balancing being the same i.e. to provide higher availability of the applications with greater performance and better end user experience.
Below diagrams represents Algorithm or Methods which are used as per the requirement and availability of hardware and type of applications.
Round Robin: – This algorithm/Method is designed to equally distributed load across all the pool members (Real Servers). It is also the default load balancing method. This load balancing method is generally used when we have equal hardware such as Processor, CPU, RAM, and Memory in the real servers.
Ratio: – This algorithm/Method allows us to set ratio weights accordingly to the capacity of the real servers. Traffic gets load balanced accordingly to the ratio weights set on the server. Suppose we are having 3 servers, on each server ratios are assigned accordingly to the hardware capability of the servers. If 1st server is assigned a ratio of 3 then 1st three connections goes to that server and so on. This type of method is mostly used when our servers are not having similar capabilities.
Least connections: – In this algorithm/method, requests are forwarded to the server which has least number of active/open connections. This method is used when we have servers of similar capabilities such as same Processor, CPU, RAM and memory.
Fastest: – In this algorithm/ method, any new request will go to the server who’s processing layer 7 connections are fastest or next request goes to the server who is having least outstanding layer 7 request. This type of algorithm is useful where nodes are distributed across separate networks.
Observed: – This method is like ratio but here ratio is not manually assigned to the server. F5 BIG-IP defines the higher ratio to the server who is having lower than the average layer 4 connections and lower ratio to the server who is having higher than the average connections.
Predictive: – In this method various things are measured before sending any request to server. It measures the time which a server is taking to progress the request or replying back to client and also calculates a dynamic ratio value based on the number of L4 connections to each server.
Dynamic Ratio: – This method monitors almost all the server components like CPU, Memory and Processor. Suppose we have 3 servers and 1st server’s CPU is only utilized 30% and its memory 10% and 2nd server CPU is utilized 50% and its memory 30% and the 3rd server CPU is utilized 60% and its memory 40%. Accordingly to these calculations, F5-BIG-IP will assign ratios to the server. Here the 1st server is assigned ratio 3, where as 2nd server is assigned ratio 2 and 3rd is assigned ratio 1. Ratio is assigned according to the availability of CPU/Memory/Processor.
Priority group activation: – This type of method is commonly used where we have primary and secondary setup of servers where primary group of servers are having higher priority than the set of servers those are a part of secondary setup. Accordingly, F5 sends higher priority requests to primary servers as per LB method applied. Priority group activation allows to define threshold/value for eg. Less than equal to 2, which means don’t use secondary servers unless and until 2 servers in the primary setup are available.
Fallback Host (HTTP):- In this method if all the servers fail, then client can be sent to HTTP redirect. Suppose the servers are under maintenance or some disaster has occurred, instead of getting page can’t be displayed , client will redirected to alternate site (secondary site/DR site) or else they will get msg like ”servers are unavailable or under maintenance and will get available after 2 hours”.