协助运维同学诊断慢查询,发现php的慢查询九千多个数据了连接超时的记录。想不通,后来运维同学从系统日志发现输出:
ip_conntrack: table full, dropping packet.
搜了下,对比其他负载的portal:
cat /proc/sys/net/ipv4/ip_conntrack_max
这台异常的确实比另外的设备少了个0。
按照文档调:
# vim /etc/sysctl.conf
net.ipv4.netfilter.ip_conntrack_max = 6553600
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 300
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 12
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120
# sysctl -p 使其生效
或者,不加载ip_conntrack模块(推荐)
修改 /etc/sysconfig/iptables-config配置文件(就不需要上面方法调整的那些参数了,因为不加载了模块了,加了反而会在sysctl -p时提示报错)
# vim /etc/sysconfig/iptables-config
IPTABLES_MODULES=""
以上方法整理自:http://www.ttlsa.com/linux/ip_conntrack-table-full-dropping-packet-solution/
经验:系统诊断应该连系统日志也要看一下才更专业。
如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。
如本文对您有用,捐赠和留言 将是对我最好的支持~(捐赠可转为站内积分)
如愿意,请向朋友推荐本站,谢谢。
尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。