Load Balancing Methods:
Round-Robin load balancing
Round-robin is one of the simplest scheduling algorithms for processes in an operating system, which assigns time slices to each process in equal portions and in order, handling all processes without priority. Round-robin scheduling is both simple and easy to implement, and starvation-free. Round-robin scheduling can also be applied to other scheduling problems, such as data packet scheduling in computer networks.
The name of the algorithm comes from the round-robin principle known from other fields, where each person takes an equal share of something in turn.
Both WebMux and DnsMux has round robin modes. For WebMux, the round-robin, or weighted round robin is preferred scheme used in layer 4 based load balancing. For DnsMux, round-robin mode is vs. the fail-over mode. Please see the user manuals for details.
Persistent Round-Robin load balancing
Persistent Round Robin is similar to round robin load balancing, except for each visiting client, they will stay with the same server till they log off, or till the inactivity timer expires.
Weighted Round-robin load balancing
Weighted round robin take counts the server capacity. For more powerful servers, the weight can be higher. The older or less powerful servers, the weight can be lower. WebMux will load balance based on the weight on each server. Please use minimum normalized weight number. Instead of having weight 99 and 100 for two servers, use weight 1 and 1. In stead of using weight 80 and 60 for two servers, using weight 4 and 3, or even 2 and 1. Because WebMux will send the requests to one server the number of weight times before sending to next server.
Persistent Weighted Round-robin load balancing
To keep the user session stick to the same server, WebMux supports the persistent weighted round robin load balancing method. This is a layer 4 method. Same client will stay with the same server during the time of visiting. The persistent timeout is based on the user’s inactivity, which can be adjusted in the “setup” screen.
Least Connections load balancing
Since 1998, WebMux supports a least connections method that distributing vistors to a site to multiple servers based on the number of connections already on a server. WebMux distributes new connections to the server has least connections based on a few factors.
Persistent Least Connections load balancing
Persistent least connections is a load balancing method that WebMux has been using since 1998. It will keep the same client session with the same server, until the client sign off, or the inactivity timer expires. Please note the persistent is actually against the least connection, so the result may not be the most desireable.
Weighted Least Connections load balancing
WebMux allows user set a weight to each server, so that new and old servers can serve the same site/farm together. The weight is preferrable minimum normalized number. Please note that the weight is served by WebMux from one server to another, so the smallest weight is desireable.
Persistent Weighted Least Connections load balancing
This is also a load balancing method WebMux supporting since 1998. Although both persistent and weight algorithms are against the least connection algorithm, WebMux still trys to sending the connections to servers based on all three factors. The net result may not be the user desired.
Weighted Fast Response load balancing
WebMux distribute the load to servers based on the weight and the server response time. Although this method sounding really good, but to achieve the best result based on server response, one must consider also the server resources. We recommend to use custom health check method to best load balancing the traffic.
Persistent Weighted Fast Response load balancing
The persistent weighted fast response load balancing method is also not recommended. Consider using custom health check method. In the custom health check method, customers can write their own cgi code on their servers detecting all situation to best feedback to WebMux for increament, decreament, or totally not sending any load at all to the server.
Layer 2/3/4/5/7 Load balancing
WebMux can load balance vistors in different network layers. For network layer definitions, please visit this page. Please note that WebMux is obey the ISO/OSI layer definitions.
Layer 7 URI load directing
WebMux can manage traffic based on layer 7 rules. One of the layer 7 rules is the load directing based on the URI. URI is a portion of the complete URL. The match pattern can be archored from start of the URL, or anywhere in the URL. When more than one servers have the same URI to match, the incoming requests will be round robin between the servers. Since URL is layer 7 protocol, one must enable WebMux’s SSL termination to be able to use any Layer 7 traffic management algorithm.
Cookie Persistent load balancing
WebMux supports load balancing in layer 7 protocols. One of the layer 7 protocol is the cookie based load directing, also called cookie persistent. WebMux will track the cookie server placed into the browser, thus same client will always send to the same server till the cookie expires.
Layer 7 URI load directing with host name MIME header matching and cookies
Cookie and URL are part of host MIME header. For details of the MIME header, please read the HTTP protocol RFC 2616. WebMux can match part of the MIME header to achieve the traffic management tasks.
Newer algorithms are being added to the WebMux supporting different load balancing needs.