我有一个负载平衡和反向代理的nginx服务器。 现在它抛出另一个nginx,但我很快计划将它放在前面,它将以500req /秒的速度直接从客户端接收TCP连接
我在服务器上遇到了一些麻烦。 我在这里粘贴了我的configuration,而且我确定问题出在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
它是一个主要安装了nginx(负载均衡器和反向代理)的ubuntu机器。
这当然不是很好。 你能帮我理解发生了什么,我该如何解决这个问题。 这是我的活服务器,我相信现在它的状态很糟糕。 任何文件或命令来解决这个问题,或者我应该做的设置,使之更好,减less等待时间和fin_wait1 / 2会更好。
尝试以下操作:
echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse
可能会有助于减lessTIME_WAIT连接的数量。 您也可以在/etc/sysctl.conf中将这些更改永久化:
net.ipv4.tcp_tw_reuse=1 net.ipv4.tcp_tw_recycle=1
TIME_WAIT是使用Keep Alivefunction时所进入的状态连接。 缺省情况下,连接保持75秒,因为Nginx几乎不使用任何资源来保持打开的连接。 如果你觉得这对你的操作系统或者需求来说过分了,你可以减less它(或者删除它)。