weight and balancing in upstream proxy
B.R.
reallfqq-nginx at yahoo.fr
Thu Apr 13 08:09:16 UTC 2017
That is an interesting questions as intuitively, people could think the
former behavior applies.
If I got the source code
<https://trac.nginx.org/nginx/browser/nginx/src/http/ngx_http_upstream_round_robin.c#L507>
right, and as the docs
<https://nginx.org/en/docs/http/ngx_http_upstream_module.html#upstream>
state, nginx is following a weighted round-robin
<https://en.wikipedia.org/wiki/Weighted_round_robin> algorithm.
It thus means it will go over the same list of servers everytime a peer
needs to be chosen (ie for every request), and pick the first not having
depleted its weight allocation.
To me, it would use the latter of your proposals.
Please correct me if I am wrong, so incorrect information does not
propagate too much. :o)
---
*B. R.*
On Wed, Apr 12, 2017 at 11:50 PM, Frank Liu <gfrankliu at gmail.com> wrote:
> Hi,
>
> How does nginx balances traffic to upstream with different weight? If I
> have 3 servers in upstream, with weight 1, 2, 4, assuming all are healthy,
> will nginx send traffic to server 1, 2, 3, 2, 3, 3, 3 or 1, 2, 2, 3, 3, 3,
> 3? If I have two servers with both weight 50, will nginx will 50 requests
> to server 1, and then 50 to server 2, or will it calculate the ration to be
> 1:1 and send one after another?
>
> Thanks!
> Frank
>
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20170413/fe4c2ade/attachment-0001.html>
More information about the nginx
mailing list