LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: A new load balancing algorithm for discussion and consideration

To: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: A new load balancing algorithm for discussion and consideration
From: "Graham D. Purcocks" <grahamp@xxxxxxxxxxxxx>
Date: Wed, 7 May 2003 15:53:38 +0100
Chris

We use the LVS in just this way. It uses ruptime to get the system load and 
varies the weight based on the relative values. You still need to put in a 
starting weight to balance the systems depending on individual system 
performance. I think it can use ssh as well to execute uptime. In lvs.cf you 
set load_monitor=rup. Guess its in the manuals somewhere.

Graham

----- Original Message ----- 
From: "Chris" <Chris@xxxxxxxxxxxxxx>
To: "LinuxVirtualServer.org users mailing list." 
<lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Wednesday, May 07, 2003 3:24 PM
Subject: RE: A new load balancing algorithm for discussion and consideration


Hi

To digress slightly,

How about this for a scenario,

LVS director and a fair number of real servers, say at least 4

Each real server runs a very complex database driven system, where request 
fulfilment time varies considerably depending on the complexity of the request. 
A simple weighted / or least connection would not distribute evenly as a single 
request may take up to a minute.

Each real server has a debug page within the site which returns the servers 
status and a loading level. 

The director queries each real server and uses the returned loading level as 
that servers weighting value for a WLC balancing algorithm.

The loading level would be calculated by giving each type of operation / 
request a complexity index. For example, if request 'A' takes twice as long as 
request 'B', its complexity index would be twice as high. The loading level 
would be the rolling average of time taken to complete a task divided by its 
complexity index. 

The result would be a very evenly balanced cluster, with each request going to 
the server that will responded quickest. As the load on a server increases its 
response time increases and its weighting is adjusted accordingly.

What are peoples thoughts on an algorithm like this?

To implement it on the director, the monitoring process would have to request 
the debug page for each server, extract the value, and modify the tables. - 
Shouldn't be too difficult. The debug page for the real server would be harder, 
but I like the idea of taking the emphasis away from the director and instead 
getting the real servers to decide how much load they can take.

Has anyone done this?

Chris Paul
IT Services Co-ordinator

Berkeley Alexander
Temple House, 25-26 High Street, Lewes, East Sussex, BN7 2SD
Tel 01273 477784, Fax 01273 478994
www.baonline.co.uk

PLEASE NOTE:
The information in this e-mail is confidential and may be legally privileged. 
It may not represent the views of Berkeley Alexander. It is intended solely for 
the addressees. Access to this e-mail by anyone else is unauthorised. If you 
are not the intended recipient, any disclosure, copying, distribution or any 
action taken or omitted to be taken in reliance on it, is prohibited and may be 
unlawful. Any unauthorised recipient should advise the sender immediately of 
the error in transmission.

_______________________________________________
LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
or go to http://www.in-addr.de/mailman/listinfo/lvs-users
<Prev in Thread] Current Thread [Next in Thread>