侧边栏壁纸
博主头像
爱运维 博主等级

行动起来,活在当下

  • 累计撰写 197 篇文章
  • 累计创建 143 个标签
  • 累计收到 21 条评论

目 录CONTENT

文章目录

TCP快速回收TIME_WAIT和从新利用

Administrator
2017-03-27 / 0 评论 / 0 点赞 / 2 阅读 / 0 字

背景:今天给公司上线了一台负载均衡,前端nginx,后端几台RS,晚上监控发现大量的TIME_WAIT连接,解决思路是修改内核参数,缩短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 -ant | grep “TIME_WAIT” | wc –l


修改完后监控连接数如下:





0

评论区