• nginx大量TIME_WAIT的解决办法--转


    原文地址:http://liuyieyer.iteye.com/blog/2214722?utm_source=tuicool&utm_medium=referral

    由于网站使用nginx做的反向代理he负载均衡。在没有默认的系统TCP参数情况下回导致大量的TIME_WAIT出现。



     

     终端可以下敲入

    Shell代码  收藏代码
    1. netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'  
    Java代码  收藏代码
    1. TIME_WAIT 8535  
    2. CLOSE_WAIT 5  
    3. FIN_WAIT2 20  
    4. ESTABLISHED 248  
    5. LAST_ACK 14  
    Java代码  收藏代码
    1. CLOSED:无连接是活动的或正在进行  
    2. LISTEN:服务器在等待进入呼叫  
    3. SYN_RECV:一个连接请求已经到达,等待确认  
    4. SYN_SENT:应用已经开始,打开一个连接  
    5. ESTABLISHED:正常数据传输状态  
    6. FIN_WAIT1:应用说它已经完成  
    7. FIN_WAIT2:另一边已同意释放  
    8. ITMED_WAIT:等待所有分组死掉  
    9. CLOSING:两边同时尝试关闭  
    10. TIME_WAIT:另一边已初始化一个释放  
    11. LAST_ACK:等待所有分组死掉  

       解决办法 修改内核参数

      

    Shell代码  收藏代码
    1. vi /etc/sysctl.conf  
    2. net.ipv4.tcp_syncookies = 1  
    3. net.ipv4.tcp_tw_reuse=1 #让TIME_WAIT状态可以重用,这样即使TIME_WAIT占满了所有端口,也不会拒绝新的请求造成障碍 默认是0  
    4. net.ipv4.tcp_tw_recycle=1 #让TIME_WAIT尽快回收 默认0  
    5. net.ipv4.tcp_fin_timeout=30  
    6. /sbin/sysctl -p 让修改生效  

      在查看,已经恢复正常

    Java代码  收藏代码
    1. TIME_WAIT 69  
    2. CLOSE_WAIT 4  
    3. FIN_WAIT2 15  
    4. ESTABLISHED 236  
    5. LAST_ACK 1  

      

  • 相关阅读:
    页面边距设置
    事件
    Ora-00906:missing left parenthesis
    Oracle
    数据转移:把数据从一个表转到另一个表
    修改字段默认值
    数据升级包
    触发器
    复制数据库数据
    VMware vSphere Client
  • 原文地址:https://www.cnblogs.com/davidwang456/p/6473849.html
Copyright © 2020-2023  润新知