nginx 轮询转发请求不均衡

       后端服务配置,一台116服务器用于nginx转发请求,使用轮询的负载均衡策略;两台后端API接口服务器57 和117,用于处理请求。

 

      现象背景:当对指定接口进行压力测试的时候,会出现绝大部分的请求都转发到57服务器,而117服务器上只有少量的请求。

 

     问题定位: 查看nginx的error日志发现,出现大量报错:2020/06/16 14:23:00 [error] 4950#4950: *4162133210 no live upstreams while connecting to upstream, client: xxx.xxx.xxx.xxx, server:

      出现no live upstreams while connecting to upstream表示nginx检测不到任何存活的后端服务。同时使用netstat命令查看117后端服务器,存在大量的TIME_WAIT连接

 

    .解决问题:在nginx.conf文件中增加了keep-Alive配置,如:

 

       upstream xxxxxxx {

              server 172.17.192.57:8087 max_fails=3 fail_timeout=5s weight=1;

              server 172.17.192.117:8087 max_fails=3 fail_timeout=5s weight=1;

              keepalive 256;

       }

  参考:https://www.cnblogs.com/xiaoleiel/p/8308514.html

          https://xiezefan.me/2017/09/27/nginx-502-bug-trace/

你可能感兴趣的:(linux,java,nginx,linux,java)