zoukankan      html  css  js  c++  java
  • linux 大量time_wait的解决方法

    通过调整内核参数解决
    vi /etc/sysctl.conf


    编辑文件,加入以下内容:
    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_tw_recycle = 1
    net.ipv4.tcp_fin_timeout = 30
     
    然后执行/sbin/sysctl -p让参数生效。
     
    net.ipv4.tcp_syncookies = 1表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
    net.ipv4.tcp_tw_reuse = 1表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
    net.ipv4.tcp_tw_recycle = 1表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
    net.ipv4.tcp_fin_timeout修改系統默认的TIMEOUT时间
     
    修改之后,再用命令查看TIME_WAIT连接数
    netstat -ae|grep “TIME_WAIT” |wc –l

    Time_Wait的默认时间是2倍的MLS,就是240秒钟。MLS是TCP片在网上的最长存活时间。
    TIME_Wait的主要作用是保证关闭的TCP端口不立即被使用。因为当网络存在延迟时,可能当某个端口被关闭后,网络中还有一些重传的TCP片在发向这个端口,如果这个端口立即建立新的TCP连接,则可能会有影响。所以使用2倍的MSL时间来限制这个端口立即被使用。

  • 相关阅读:
    代码外的软技能——吉他自学过程
    利用栈实现括号匹配(python语言)
    django框架--登录注册功能(ajax)
    ajax的get请求
    docker 制作自己的镜像
    Mysql group by之 Error 1055
    ssh 远程连接
    python实现--九九乘法表
    mysql5.7安装和卸载过程
    javascript随机变色--案例
  • 原文地址:https://www.cnblogs.com/chbo/p/10552610.html
Copyright © 2011-2022 走看看