文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>nginx time_wait 过多的问题

nginx time_wait 过多的问题

时间:2010-10-12  来源:pk-feiyang

nginx time_wait 过多的问题


今天查看nginx进程 发现好多的time_wait
netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
  26363 TIME_WAIT
   1117 ESTABLISHED
    256 FIN_WAIT2
    172 FIN_WAIT1
     50 SYN_RECV
     12 LAST_ACK
      8 LISTEN
      1 established)
      1 Foreign

处理方法,修改sysctl.conf文件

那么系统TIME_WAIT的数量会变得比较多,这是由于nginx代理使用了短链接的方式和后端交互的原因,使得nginx和后端的 ESTABLISHED变得很少而TIME_WAIT很多。这不但发生在安装nginx的代理服务器上,而且也会使后端的app服务器上有大量的 TIME_WAIT。查阅TIME_WAIT资料,发现这个状态很多也没什么大问题,但可能因为它占用了系统过多的端口,导致后续的请求无法获取端口而造 成障碍,目前看来最好的办法是让每个TIME_WAIT早点过期: 在linux上的nginx负载均衡器上可以这么配置:

添加
让TIME_WAIT状态可以重用,这样即使TIME_WAIT占满了所有端口,也不会拒绝新的请求造成障碍
net.ipv4.tcp_tw_recycle = 1
#让TIME_WAIT尽快回收,我也不知是多久,观察大概是一秒钟
net.ipv4.tcp_tw_reuse = 1

或是 直接
echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse

echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle

在来看看

netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
   5877 TIME_WAIT
    901 ESTABLISHED
    307 FIN_WAIT1
     13 LAST_ACK
      8 LISTEN
      7 SYN_RECV
      3 CLOSING
      1 established)
      1 Foreign
明显减少了好多 
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载