- 论坛徽章:
- 0
|
各位,help me。
用内核版本分别为2.6.18、2.16.23和2.6.25三台机器做大并发的NAT服务器。三个服务器是级联的,从lan至wan分别是:2.6.25-->2.623-->2.6.18。三个服务器做了如下的相同配置:
i)将它们的并发连接数nf_conntrack_max都改成了131072;
ii)相应的hashsize通过 echo 32768 > sys/module/nf_conntrack/parameters/hashsize改成了32768,但expect_hashsize保持为默认值;
iii)相应的nf_conntrack_tcp_timeout_established 改成了1500s。
出现的问题如下:
i)2.6.23的的nf_conntrack_count曾累积趋势,虽然有时候也下降了一些,但总体趋势是增加的,而另外两个内核的nf_conntrack_count随网络状况能动态的更新。
ii)cat /proc/net/nf_conntrack > wc -l,发现2.6.23的nf_conntrack 记录总只有nf_conntrack_count的一半左右,而其他两个内核的记录数和nf_conntack持平;
iii)cat /proc/slabinfo,发现2.6.23所占用的slab存储与nf_conntrack_count是一致的(当然,其它两个内核也是一致的)
因为三个服务器是级联的,所以三者的nf_conntrak_count应基本一致,所以从问题i)~iii)看来,2.6.23中的nf_conntrack连接没有及时释放,而且其记录信息不全,感觉是内核的bug(因为其他原因,换内核工作量太大)。请问该如何解决这些问题呢?毕竟连接数如果总是累加,就会很快达到我们的设定上限的~~
非常感谢~~~
[ 本帖最后由 bripengandre 于 2009-7-30 15:37 编辑 ] |
|