Turn pool member weights into request shares, per-pool request counts and the weighted round-robin cycle length.
Weighted round robin hands out one request per unit of weight, so a member with weight 5 in a pool summing to 10 receives half the traffic. The pattern repeats once the sum of the weights has been dispensed, which is why the cycle length matters for short bursts. Weights are how you mix server generations in one pool or ramp a canary, but the cycle length means a burst shorter than the sum of the weights will not honour the ratio at all.
Weighted Load Distribution
share of member i = weight_i ÷ Σ weights; requests to member i = total requests × share; the WRR cycle repeats every Σ weights requests.
share of member i = weight_i ÷ Σ weights; requests to member i = total requests × share; the WRR cycle repeats every Σ weights requests. Weighted round robin hands out one request per unit of weight, so a member with weight 5 in a pool summing to 10 receives half the traffic. The pattern repeats once the sum of the weights has been dispensed, which is why the cycle length matters for short bursts.
Weights are how you mix server generations in one pool or ramp a canary, but the cycle length means a burst shorter than the sum of the weights will not honour the ratio at all.
This calculator takes 4 inputs: Weight of pool member A, Weight of pool member B, Weight of pool member C, Requests to distribute. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.