后端服务配置,一台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;
}