我有一台具有负载平衡和反向代理的 nginx 服务器。目前它位于另一台 nginx 后面,但我很快计划将其置于前面,这样它将以每秒 500 个请求的速率直接接收来自客户端的 TCP 连接
我在服务器方面遇到了一些大麻烦。我已将我的配置粘贴到这里,我确信问题出在 ipconntrac 和类似的东西上,这些东西对我来说很陌生
http://paste.org/pastebin/view/28543
root@load_balancer:/proc/sys/net/ipv4# netstat -an|awk '/tcp/ {print $6}'|sort|uniq -c
67 CLOSING
727 ESTABLISHED
173 FIN_WAIT1
183 FIN_WAIT2
19 LAST_ACK
5 LISTEN
447 SYN_RECV
1 SYN_SENT
27970 TIME_WAIT
它是一台 ubuntu 机器,主要安装了 nginx(负载均衡器和反向代理)。
这肯定不太好。你能帮我了解发生了什么事,我该如何修复它吗?这是我的实时服务器,我确信它现在状况很糟糕。任何文档或命令都可以修复这个问题,或者我应该进行哪些设置来改善这个问题并减少等待时间和 fin_wait1/2 会很棒。
答案1
请尝试以下操作:
echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle
echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse
这也许有助于减少 TIME_WAIT 连接的数量。您还可以在以下位置使这些更改永久生效/etc/sysctl.conf
:
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1