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