处于 TIME_WAIT 状态的连接数量非常多;服务器很慢,ipconntrac

处于 TIME_WAIT 状态的连接数量非常多;服务器很慢,ipconntrac

我有一台具有负载平衡和反向代理的 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

相关内容