Anybody interested in testing patch to allow weighted nodes?

Brett G. Durrett brett at imvu.com
Wed May 16 23:54:38 UTC 2007


Actually, that is what I thought it would do :)

My preference would have been to have it be on each request but we are 
running enough perlbals and have enough traffic that the reduced new 
connections should have an impact (we have about 20+ perlbals for this 
service and they create new connections with reasonable frequency, even 
with back-end keepalives on).

I am not sure this would be valuable for light traffic... in my initial 
testing connections favored (and stuck) to super high weights and would 
sometime stick with a lower weight, once picked.

B-

Brad Fitzpatrick wrote:
> I don't think this would do what you think it would.
>
> This would just be for allocating new connections (which is kinda
> boring, and happens relatively rarely, and still only one
> per-node-in-flight), not for how requests are actually assigned to
> backends.
>
>
> On Wed, 16 May 2007, Brett G. Durrett wrote:
>
>   
>> I have attached a patch to 1.57 that will allow weighting of nodes
>> specified in a nodefile.  This might be handy if your servers have a
>> wide  range of performance and you want to direct less traffic to less
>> powerful servers.
>>
>> I am putting this out in case anybody has use for it and is willing to
>> test it  :)
>>
>> Some notes:
>>
>> - It only works using nodefiles, not the config file node definitions or
>> the configuration interface "add" or "remove" commands.
>> - I am running about 5% of our traffic through my production test
>> server... it appears to be working well but I would not feel comfortable
>> asking others to try it in production.  I have done very little
>> testing... I am not sure about the behavior in failure cases, especially
>> in regards to failing-out bad nodes.
>>
>> - To weight a node, add whitespace and weight:<int> to the nodefile...
>> for example:
>>
>> 10.10.10.78         weight:1
>> 10.10.10.79         weight:1
>> 10.10.10.124        weight:5
>> 10.10.10.125        weight:5
>>
>> - If you do not specify a weight for any node the weighting code is
>> ignored.
>> - If you specify a weight for some (but not all) nodes, it will assume a
>> weight of "1" for nodes that did not have a weight.
>> - If weights are assigned, the "show pool <pool>" command will add the
>> weights of all nodes to the output... if you did not use weighting, the
>> standard output will be displayed.  For example:
>>
>> show pool virtual_web
>> 10.10.10.78:80 765 weight:1
>> 10.10.10.79:80 770 weight:1
>> 10.10.10.124:80 4007 weight:5
>> 10.10.10.125:80 3921 weight:5
>>
>> Again, this was a quick hack and I am providing this for testing... if
>> your Perlbal is controlling a nuclear reactor, please don't try this.
>>
>> Thanks in advance for any testing / feedback you can provide,
>>
>> B-
>>
>>
>>
>>
>>
>>
>>     


More information about the perlbal mailing list