zoukankan      html  css  js  c++  java
  • ubuntu系统TCP连接参数优化-TIME_WAIT过多解决办法

    状态:描述
    CLOSED:无连接是活动的或正在进行
    LISTEN:服务器在等待进入呼叫
    SYN_RECV:一个连接请求已经到达,等待确认
    SYN_SENT:应用已经开始,打开一个连接
    ESTABLISHED:正常数据传输状态
    FIN_WAIT1:应用说它已经完成
    FIN_WAIT2:另一边已同意释放
    ITMED_WAIT:等待所有分组死掉
    CLOSING:两边同时尝试关闭
    TIME_WAIT:另一边已初始化一个释放
    LAST_ACK:等待所有分组死掉

     

    想要让服务器获得更高的性能,需要对一些内核参数做出调整。

    完整参数信息:man 7 tcp

    修改 /etc/sysctl.conf,添加如下参数设置。
    # 当 SYN 等待队列溢出时,启用 cookie。
    net.ipv4.tcp_syncookies = 1

    # 允许 TIME_WAIT socket 重用。
    net.ipv4.tcp_tw_reuse= 1

    # 快速回收 TIME_WAIT socket。
    net.ipv4.tcp_tw_recycle= 1

    # FIN_WAIT 超时时间。
    net.ipv4.tcp_fin_timeout = 30

    # 启用 keepalive 时,发送消息的频率。(默认: 7200 秒)
    net.ipv4.tcp_keepalive_time = 1800

    # 用于外连的端口范围。(默认: 32768 到 61000)
    net.ipv4.ip_local_port_range= 10000 65000

    # SYN 队列长度。(默认: 1024)
    net.ipv4.tcp_max_syn_backlog = 8192
    修改完成后执行如下命令生效。
    $ sudo sysctl -p

     

    也可以用一下命令:
    cd /proc/sys/net/ipv4 
    echo 1 > tcp_tw_recycle

  • 相关阅读:
    mysql 取出每科成绩前两名
    mysql 数据库以及sql 的优化
    Twitter开源分布式自增ID算法snowflake
    SVN 冲突
    VUE 入门 1 列表、if判断 、双向绑定
    Roadblock
    最大子序和
    SOLDIERS
    绿豆蛙的归宿
    Place the Robots
  • 原文地址:https://www.cnblogs.com/kaishirenshi/p/11423052.html
Copyright © 2011-2022 走看看