Calculate how traffic is distributed across backend targets by a load balancer.
Simple round-robin load balancing divides total request rate evenly across all backends: requests_per_backend = total / backends. Weighted distribution instead allocates traffic proportionally to each backend's assigned weight (typically reflecting relative capacity, e.g. a backend twice as powerful gets a weight of 2 versus 1 for standard instances): backend_rps = total × (weight / sum_of_weights). Weighted round-robin is standard practice when backend instances have heterogeneous capacity, ensuring more capable instances handle proportionally more traffic instead of being artificially limited to an equal share.
Equal (round-robin) distribution
requests_per_backend = total_requests / number_of_backends
Weighted distribution
backend_requests = total_requests × (weight / sum_of_weights)
Use weighted distribution whenever backends have different capacities — e.g. mixing larger and smaller instance types, or gradually shifting traffic during a blue-green deployment — so more capable (or more trusted) backends receive proportionally more traffic than smaller ones.
Not necessarily — round-robin distributes requests evenly by count, but if request processing times vary (some requests are much heavier than others), backends can still end up unevenly loaded in terms of actual resource consumption despite receiving an equal request count.
This calculator assumes all backends are healthy and receiving traffic. In practice, load balancers continuously run health checks and remove unhealthy backends from rotation, which increases the effective load on the remaining healthy backends beyond what this static calculation shows.
Round-robin and weighted round-robin distribute based on a fixed ratio regardless of current backend state. Least-connections (and similar dynamic algorithms) instead route each new request to whichever backend currently has the fewest active connections, adapting in real time to actual load rather than a static split.