kernel: TCP: time wait bucket table

#一台Nginx+php-fcgi的服务器做了负载均衡,在主控端发现一直在报错: #—————————-引用文字-开始—————————- Apr 19 14:48:38 chengyongxu.com kernel: TCP: time wait bucket table overflow Apr 19 14:48:44 chengyongxu.com kernel: printk: 137 messages suppressed. Apr 19 14:48:44 chengyongxu.com kernel: TCP: time wait bucket table overflow Apr 19 14:48:52 chengyongxu.com kernel: printk: 251 messages suppressed. Apr 19 14:48:52 chengyongxu.com kernel: TCP: time wait bucket table overflow Apr 19 14:48:53 chengyongxu.com kernel: printk: 51 messages suppressed. Apr 19 14:48:53 chengyongxu.com kernel: TCP: time wait bucket table overflow Apr 19 14:48:59 chengyongxu.com kernel: printk: 119 messages suppressed. #—————————-引用文字-结束—————————- #再看80端口连接状态 netstat -an | grep 80 | awk ‘{print $6}’ | sort | uniq -c | sort -rn #—————————-引用文字-开始—————————- 4202 TIME_WAIT 30 FIN_WAIT1 9 ESTABLISHED 5 SYN_RECV 4 LISTEN 4 FIN_WAIT2 4 CLOSING 2 CONNECTED 2 #—————————-引用文字-结束—————————- #根据报错提示,需要更改net.ipv4.tcp_max_tw_buckets这个内核参数。这个参数是系统同时保持timewait套接字的最大数量。如果超过这个数字,time-wait套接字将立刻被清除并打印警告信息。这个限制仅仅是为了防止简单的 DoS攻击,你绝对不能过分依靠它或者人为地减小这个值,如果网络实际需要大于缺省值,更应该增加这个值(如果增加了内存之后)。 vi /etc/sysconfig/sysctl.conf #—————————-引用文字-开始—————————- #找到: net.ipv4.tcp_max_tw_buckets = 6000 #改为 net.ipv4.tcp_max_tw_buckets = 10000 #—————————-引用文字-结束—————————- #保存并打印设置 sysctl -p #再看80端口连接状态 netstat -an | grep 80 | awk ‘{print $6}’ | sort | uniq -c | sort -rn #—————————-引用文字-开始—————————- 5928 TIME_WAIT 42 FIN_WAIT1 14 ESTABLISHED 10 FIN_WAIT2 6 CLOSING 4 SYN_RECV 4 LISTEN 2 CONNECTED 2 #—————————-引用文字-结束—————————- netstat -an | grep 80 | awk ‘{print $6}’ | sort | uniq -c | sort -rn #—————————-引用文字-开始—————————- 5510 TIME_WAIT 34 FIN_WAIT1 9 SYN_RECV 9 ESTABLISHED 7 FIN_WAIT2 6 CLOSING 4 LISTEN 2 CONNECTED 2 #—————————-引用文字-结束—————————- netstat -an | grep 80 | awk ‘{print $6}’ | sort | uniq -c | sort -rn #—————————-引用文字-开始—————————- 5687 TIME_WAIT 38 FIN_WAIT1 16 ESTABLISHED 10 SYN_RECV 6 FIN_WAIT2 6 CLOSING 4 LISTEN 2 CONNECTED 2 #—————————-引用文字-结束—————————- netstat -an | grep 80 | awk ‘{print $6}’ | sort | uniq -c | sort -rn #—————————-引用文字-开始—————————- 5688 TIME_WAIT 38 FIN_WAIT1 19 ESTABLISHED 9 SYN_RECV 6 FIN_WAIT2 6 CLOSING 4 LISTEN 2 CONNECTED 2 #—————————-引用文字-结束—————————- #再看/var/log/messages和dmesg的信息,已经不再报错了,看来net.ipv4.tcp_max_tw_buckets=10000暂时是够用了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值