balance more fair when there are several servers with equal weights, side effect: now smallest weights go first
diff --git a/src/http/ngx_http_upstream_round_robin.c b/src/http/ngx_http_upstream_round_robin.c index 4f017f9..d0911a0 100644 --- a/src/http/ngx_http_upstream_round_robin.c +++ b/src/http/ngx_http_upstream_round_robin.c
@@ -498,7 +498,7 @@ } if (peer[n].current_weight * 1000 / peer[i].current_weight - >= peer[n].weight * 1000 / peer[i].weight) + > peer[n].weight * 1000 / peer[i].weight) { return n; }