Hello,

Before anyone goes too far into creating things here, I should probably point out that I have already written a system that handles this feature based upon CPU, Memory and Network usage, it was my University Dissertation! Since that has only just been marked, I haven't previously been able to discuss or release any information of this to the community.

In simple terms, I have created a fairly simple daemon that monitors the CPU, Memory and Network usage of servers using the SNMP protocol. The statistics gathered are stored in a MySQL database, which allows the graphical web user interface to graph these statistics.

Whilst I can go into further details at a later date, I'd like to request some assistance from someone in the community who has more experience with patching the HAProxy code. As I'd like to see a patch created that integrates the protocol for performing the dynamic weight update, currently the code I have only works under 1.3.14.11, due to the changes made to the Unix socket in later versions, this needs to be tweaked before it can be re-used by the community.

Given time, its possible that the entire package (daemon and UI) can be released as an add-on to HAProxy.

Cheers,

Robert.


On 16 Oct 2009, at 21:30, Mariusz Gronczewski wrote:

2009/10/16 Craig <[email protected]>:
Hi,

a patch (set weight/get weight) I imagined some days ago was integrated
just 6hrs after I had thought about it (Willy must be reading them!).

I've written a simple (exchangable) interface that prints out a servers load and a client to read it. I plan to read the load from all servers and adjust the weight dynamically according to the load so that a very
busy server gets less queries and the whole farm is more balanced. I
plan to "smoothen" the increasing/decreasing a bit so that there aren't
too great jumps with the weight, I want to implement a policy of
something like "oh that server can do 50% more, lets just increase the weight by 25% and check again in a minute". I hope this will autobalance
servers with different hardware quite well, so that you don't have to
guess or do performance tests to get the weights properly.

Some python code is already finished (partly because I'd like to
practise a bit) but I didn't continue yet, because I'd like to hear your
opionions about this.

Hi

I'm sure lot of ppl (including me) will be interested in that ( I
would probably have to write something similar in a month or so). By
"load" you mean /proc/loadavg ? If yes then u might want to include
some kind of per-server tuning of multiplier because obviously on 16
core server loadavg of 10 would be "moderately loaded" while on 4 core
server i'd be "overload"

Regards
Mariusz



Reply via email to