我们的设置如下:一台 nginx 服务器作为四台工作应用服务器前的负载均衡器。nginx 服务器每秒接收大约 100 个请求,有时甚至更多,平均活跃连接数徘徊在 110 个左右。
在相当规律的时间间隔内(1-2 秒),访问 nginx 负载均衡器的应用程序会收到一堆失败的请求,其中无法建立 TCP 连接(连接超时)。问题很快得到解决,下一批连接可以正常处理,直到下一波连接超时。
我认为负载量不是很大,nginx 应该可以处理。我的第一个猜测是根据互联网上的各种帮助页面调整 ipv4 sysctl 设置,但目前无济于事。
我已经增加了端口范围并将 fin_timeout 降低到 30。netstat 中显示了很多 TIME_WAIT 连接(~11k)。
有人知道在这种情况下该怎么办吗?我知道对于实际问题可能没有明确的答案,但希望大家能指点一二!谢谢!