您的位置:首页 > 运维架构

kernel: nf_conntrack: table full, dropping packet解决办法

2014-04-04 17:40 411 查看
http://blog.sina.com.cn/s/blog_541a3cf10101b3bj.html

昨天上线cache后,防火墙高峰报道2W5有些不对劲,检查系统日志发现

Sep  6 18:05:07 localhost kernel: nf_conntrack:table full, dropping packet.

Sep  6 18:19:13 localhost kernel: nf_conntrack:table full, dropping packet.

Sep  6 18:35:03 localhost kernel: nf_conntrack:table full, dropping packet.

Sep  6 19:02:56 localhost kernel: nf_conntrack:table full, dropping packet.

之前用ab测试10W请求每次200测试就出现过apr_socket_recv: Connection timed out(110)终止

没在意,所以就PASS了;不料留下了隐患。

那么先参考http://blog.johntechinfo.com/technology/275这篇文章来优化下测试环境:

解决办法如其所述,对ip_conntrack的两个参数进行设置即可:

 vi /etc/sysctl.conf

net.nf_conntrack_max = 655360

net.netfilter.nf_conntrack_tcp_timeout_established = 1200

但是http://blog.yorkgu.me/2012/02/09/kernel-nf_conntrack-table-full-dropping-packet/这位仁兄文中说在centos上,需要这样设置

net.ipv4.netfilter.ip_conntrack_max =655350

net.ipv4.netfilter.ip_conntrack_tcp_timeout_established= 1200

#默认超时时间为5天,作为一个主要提供HTTP服务的服务器来讲,完全可以设置得比较短

sysctl -p /etc/sysctl.conf
那么我们再试下10W请求每次2000来测试下是否有效:(用的是第一种net.nf_conntrack_max)





果然有效。

ip_conntrack就是linuxNAT的一个跟踪连接条目的模块,ip_conntrack模块会使用一个哈希表记录 tcp 通讯协议的established connection记录,当这个哈希表满了的时候,便会导致nf_conntrack: table full,dropping packet错误。

关于如何优化conntrack模块,有一篇文章对此进行了解释,http://wiki.khnet.info/index.php/Conntrack_tuning,或http://blog.yorkgu.me/wp-content/uploads/2012/02/netfilter_conntrack_perf-0.8.txt

 

 查看目前 ip_conntrack buffer 的使用状况

cat /proc/slabinfo |grep conntrack

nf_conntrack_expect     0     0   208  39    2 :tunables   0   0    0 :slabdata     0     0     0

nf_conntrack      55606 73836   288  28    2 :tunables   0   0    0 :slabdata  2637  2637     0

55606 the number of currently active objects

73836 the total number of availableobjects  

288 the size of each object inbytes   

28 the number of pages with at least one active object

 

查出目前 ip_conntrack 记录最多的前十名 IP

cat /proc/net/ip_conntrack | cut -d ' ' -f 10 | cut -d '=' -f 2| sort | uniq -c | sort -nr | head -n 10

  45772 127.0.0.1

    72 203.81.70.29

    64 211.139.190.202

    62 203.81.72.85

    58 211.139.151.42

    58 211.139.146.167

    57 203.81.72.81

    56 221.179.8.36

    56 203.81.72.82

    54 203.81.70.21

 

现网加上了,看看明天高峰访问效果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: