当前位置:   article > 正文

当服务器出现大量的网络连接出现TIME_WAIT和端口不够用时_net.ipv4.tcp_keepalive_time = 1200

net.ipv4.tcp_keepalive_time = 1200

在 /etc/sysctl.conf加入下面几句话

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_syncookies=1

net.ipv4.tcp_fin_timeout = 10

net.ipv4.tcp_keepalive_time = 1200    

net.ipv4.ip_local_port_range = 1024    65000   ## 端口分配范围

net.ipv4.tcp_max_syn_backlog = 32768 ##这里是设置系统内存是4G为参考

#net.ipv4.tcp_max_syn_backlog = 8192

net.ipv4.tcp_max_tw_buckets = 5000   ## 设置"time_wait"的桶最多容纳5000个

添加完毕以后

sysctl -p

让以上配置生效。

下面是对上面的参数一个个作解释

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_syncookies=1

表示选开启SYN Cookies,当出现SYN等待队列溢出时,启用cookies进行处理

net.ipv4.tcp_fin_timeout = 10

这个参数决定了它保持在FIN-WAIT-2状态的时间。对端可以出错并永远不关闭连接,甚至意外当机。缺省值是60秒。2.2 内核的通常值是180秒,你可以按这个设置,但要记住的是,即使你的机器是一个轻载的WEB服务器,也有因为大量的死套接字而内存溢出的风险,FIN- WAIT-2的危险性比FIN-WAIT-1要小,因为它最多只能吃掉1.5K内存,但是它们的生存期长些。

net.ipv4.tcp_keepalive_time = 1200

表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。

net.ipv4.ip_local_port_range = 1024 65000

表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。

net.ipv4.tcp_max_syn_backlog = 32768

表示SYN队列的长度,.默认为1024(这个根据系统内存设置对比关系是对于128M内存设置时1024,加大队列长度为32768 ,可以容纳更多等待连接的网络连接数。

net.ipv4.tcp_max_tw_buckets = 5000

表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。默认为180000,改为5000。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/158575?site
推荐阅读
相关标签
  

闽ICP备14008679号