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
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 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.