From: André Malo Date: Sat, 27 Nov 2004 15:28:03 +0000 (+0000) Subject: validate xml X-Git-Tag: 2.1.2~110 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ab738bf60106734bb03be2f98b760490242baa90;p=apache validate xml git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@106723 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/mod/mod_proxy_balancer.xml b/docs/manual/mod/mod_proxy_balancer.xml index c759ed0076..403c36c13c 100644 --- a/docs/manual/mod/mod_proxy_balancer.xml +++ b/docs/manual/mod/mod_proxy_balancer.xml @@ -51,149 +51,113 @@ load balancing
Load balancer scheduler algorithm

The idea behind this scheduler is the following:

-

lbfactor is how much we expect this worker + +

lbfactor is how much we expect this worker to work, or the workers's work quota.

-

lbstatus is how urgent this worker has to work + +

lbstatus is how urgent this worker has to work to fulfill its quota of work.

-

The worker is a member of the load balancer, - usually a remote host serving one of the supported protocols

+ +

The worker is a member of the load balancer, + usually a remote host serving one of the supported protocols.

+

We distribute each worker's work quota to the worker, and then look which of them needs to work most urgently (biggest lbstatus). This worker is then selected for work, and its lbstatus reduced by the total work quota we distributed to all workers. Thus the sum of all lbstatus does not change.(*)

+

If some workers are disabled, the others will still be scheduled correctly.

+

If a balancer is configured as follows:

- - - - - - - - - - - - - - - - - - - - - - - - - -
workerabcd
lbfactor25252525
lbstatus0000
-
-

And b gets disabled, the following schedule is produced:

- - - - - - - - - - - - - - - - - - - - - - - - - - -
lbstatus-5002525
lbstatus-250-2550
lbstatus0000
(repeat)
-
+ + + + + + + + + + + + + + + + +
workerabcd
lbfactor25252525
lbstatus0000
+ +

And b gets disabled, the following schedule is produced:

+ + + + + + + + + + + + + + + + + + + + + + + +
workerabcd
lbstatus-5002525
lbstatus-250-2550
lbstatus0000
(repeat)
+

That is it schedules: a c d a c d a c d ...

The following asymmetric configuration works as one would expect:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
workerab
lbfactor7030
 
lbstatus-3030
lbstatus40-40
lbstatus10-10
lbstatus-2020
lbstatus-5050
lbstatus20-20
lbstatus-1010
lbstatus-4040
lbstatus30-30
lbstatus00
(repeat)
-
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
workerab
lbfactor7030
lbstatus-3030
lbstatus40-40
lbstatus10-10
lbstatus-2020
lbstatus-5050
lbstatus20-20
lbstatus-1010
lbstatus-4040
lbstatus30-30
lbstatus00
(repeat)

That is after 10 schedules, the schedule repeats and 7 a are selected with 3 b interspersed.