zoukankan      html  css  js  c++  java
  • time_wait过多的优化

    time<sub>wait过多的优化</sub>

    timewait过多的优化

    1 查看一下服务器的压力

    今天在一个服务器上发现连接太多,尤其是 TIME_WAIT 状态的连接更多,这可能主要是由于增加了端口映射。 而且服务器侧是短连接造成的这种现象。 用一条命令查看一下:

    
    [root@qzt ~]# netstat -nat | awk '{++S[$NF]} END {for(a in S) print a, S[a]}'
    LAST_ACK 6
    LISTEN 34
    SYN_RECV 12
    CLOSE_WAIT 4
    State 1
    ESTABLISHED 60
    established) 1
    FIN_WAIT1 29
    FIN_WAIT2 1
    CLOSING 3
    TIME_WAIT 101
    
    
    
      

    该TIME_WAIT的默认值为2 * MSL, MSL 即max segment lifetime, 是一个tcp包的最大生存时间。

    MSL值在linux上好像默认是30秒, 所以从 TIME_WAIT 状态变化到 CLOSED 大约需要60秒时间。

    另外一方面,本机可用的发起连接的socket端口是有限的,可通过以下命令查看:

    [root@ ~]# cat /proc/sys/net/ipv4/ip_local_port_range
    32768   61000
    
    
      

    也即大约只有2万多个端口可用,如果处于 TIME_WIAT 状态的连接很多, 很有可能会影响本机向处发起的连接,比如ftp的主动模式就会深受影响。

    出现端口不够用的情况。


    2 优化方法

    可以通过以下参数减少 TIME_WAIT 的连接:

    • 方法一:
    
        [root@ ~] vi /etc/sysctl.conf
    
        #开启time_wait状态的socket重用
        net.ipv4.tcp_tw_reuse = 1
    
        #开启time_wait状态的socket快速回收
        net.ipv4.tcp_tw_recycle = 1
    
        [root@ ~] /sbin/sysctl -p
    
      
    • 方法二:
    
          # 或者直接修改time_wait的等待时间
          [root@ ~]echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
    
    
          
    [root@ ~] ifconfig
    
    

    Date: 2012-12-25 Tue

    Author: liweijijie

    Org version 7.9.2 with Emacs version 23

    Validate XHTML 1.0
  • 相关阅读:
    责任链简单解析
    mysql实践一:SQL基础
    Aix6.1下su命令不能切换环境变量的问题
    maven 打包错误 Cannot access central in offline mode
    登陆并访问k8s的apiserver
    kubernetes 实践五:Service详解
    kubernetes1.16 配置 metrics-server
    kubernetes 实践四:Pod详解
    kubernetes 实践三:使用kubeadm安装k8s1.16.0
    kubernetes 实践二:kubectl命令使用
  • 原文地址:https://www.cnblogs.com/liweilijie/p/2832623.html
Copyright © 2011-2022 走看看