[SR-Users] LCR weight parameter

Juha Heinanen jh at tutpro.com
Tue Nov 22 15:02:58 CET 2011


Fabian Borot writes:

> 3 gws inside same group, and assuming the higher the weight the higher
> the capacity
> 
>  gw 1 with weight 20
>  gw 2 with weight 30
>  gw 3 with weight 60
> 
> I would like to send more calls to gw 3, then gw 2 then gw 1
> but if when I do a load_gws, and I randomize the weight (meaning I get
> a random value out of the possible 20, 30 and 60, then pick the gw
> with that random value, for example rand() returns 20, then I really
> obtain gw 2) then there is no guarantee that the order would be like I
> want it.

> At least that is how I understand the "randomize" factor on this
> logic,  do I get it wrong? If so please advise.

if you have three gws with weights 1, 2, and 3 and you make many calls,
then first gw will receive less of them as the second, and second less
of them than the third.  how much less, see this text in readme:

   Weight is an integer value from 1 to 254. Weight implementation is
   fast, but unfair favoring larger weight values at the expense smaller
   ones. For example, if two gateways have weights 1 and 2, probability
   that the gateway with weight 1 is tried first is 1/4, not 1/3. Two
   scripts are provided in lcr/utils directory that can be used to check
   the probabilities resulting from a given set of weight values. Same can
   be done with command 'kamctl eval_weights'.

-- juha



More information about the sr-users mailing list