Re: how server weight is handled with backup severs

From: Willy Tarreau <w#1wt.eu>
Date: Wed, 3 Sep 2008 23:16:59 +0200


Hi Florian,

On Wed, Sep 03, 2008 at 01:35:11PM +0200, florian iragne wrote:
> Hello everybody,
>
> let's say i have 3 servers :
> * 1 : handle 1/5 of the load (it can handle 4/5 at most but is limited
> on purpose) => weight 1
> * 2 : handle 4/5 of the load => weight 5
> * 3 : backup, can handle 1/5 of the load => no weight
>
> What happened if the server #2 is declared down? If i put a weight of 1
> to the backup, would the server #1 handle automagicaly the remaining
> load, even if its weight is also of 1?

you should not set the weight as ratios but as capacity, or relative power. It's intentionally designed this way so that you don't have to recompute all weights when you add servers, and that the load distribution remains balanced when some servers fail.

In your case, if #2 goes down, #1 will take all the load because #3 will not be used as long as #1 runs. We need a notion of "spare" servers to get a server to complete a partially failed farm, but this is not implemented.

So as a short summary, keep in mind that the total weight of your farm is the sum of the weights of the usable servers, which means the active servers that are UP. Above if you lose #2, the total weight is 1 (#1's weight). If you also lose #1, then the total weight becomes the sum of the usable backup servers' weights (here 1, #3's weight). If you had multiple backup servers, the total weight would always be the one of the first available backup server. And if you set the "allbackups" option, then the total weight would then be the sum of all available backup servers' weights, just as if they were active servers.

I hope I did not confuse you too much :-)

Willy Received on 2008/09/03 23:16

This archive was generated by hypermail 2.2.0 : 2008/09/03 23:30 CEST