为什么Nginx没有负载平衡平衡带宽?

时间:2013-08-09 07:17:13

标签: nginx load-balancing bandwidth

我是nginx负载均衡的新手,但我根据文档和在线样本设置了它。

以下是我设置上游配置的方法:

upstream test {
    server FirstServerIP weight=1 max_fails=3 fail_timeout=15s;
    server SecondServerIP weight=1 max_fails=3 fail_timeout=15s;
}

然后我进入:

proxy_pass http://test;

进入config的位置部分。对于后端,我使用“FirstServerIP”的端口8181代理到第一个和第二个服务器的端口80。一切都很好,直到我检查我的FirstServerIP的带宽使用情况,发现传入流量是我的SecondServerIP的三倍,并且传出流量与我的SecondServerIP大致相同...

你能告诉我为什么吗?以及我如何解决它?因为似乎数据从我的SecondServer上传到我的FirstServer,然后发送回用户。

1 个答案:

答案 0 :(得分:1)

听起来配置完全符合您的要求。您在第一台服务器IP上配置了代理,对吧?因此,数据必须从用户转到代理,然后转到服务器,然后从服务器返回到代理,然后再转发给用户。

它是三倍的,因为第一个服务器看到三个流(服务器的代理输出和第二个服务器的代理输入),而第二个服务器看到一个(它的输出到代理)。它将流量完美地平衡为相等的流量,第一个服务器只看到三个流量,第二个只看到一个流量。

至于你如何修复它,它取决于它的错误以及你想要完成的事情,你没有告诉我们。