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
  • 相关阅读:
    Python垃圾回收机制 总结
    求二叉树中任意两个结点的距离
    Python 实现排序算法
    InnoDB 索引原理
    Linux常用脚本命令总结
    How Django works?
    RabbitMQ 知识总结
    最短路径之Dijkstra算法和Floyd-Warshall算法
    最小生成树之Prim算法和Kruskal算法
    Python collections模块总结
  • 原文地址:https://www.cnblogs.com/liweilijie/p/2832623.html
Copyright © 2011-2022 走看看