免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: ippen
打印 上一主题 下一主题

[网络管理] 构建一台大容量的NAT服务器 [复制链接]

论坛徽章:
0
61 [报告]
发表于 2008-07-10 19:27 |只看该作者
原帖由 platinum 于 2008-7-10 09:48 发表

1048576 好像是 1024 * 1024 的结果,也就是 1M 个并发数,也就是 100W 个


额,一下眼花,数少了一位数

论坛徽章:
0
62 [报告]
发表于 2008-07-10 19:30 |只看该作者
原帖由 ShadowStar 于 2008-7-10 10:54 发表

我说的之前工作中的是采用的2*Opteron 2212的CPU,4GB内存,Intel 82544的网卡,conntrack_max = 2097152。硬件配置好象是这样,记不太清楚了。
系统版本不重要,主要是内核,我那时候用的是2.6.23的,Gent ...


2.6.16后的内核网络部分效率应该有提高了,我用的内核版本比较老,估计多cpu问题没解决好,有时间再试试

论坛徽章:
0
63 [报告]
发表于 2008-07-10 19:40 |只看该作者
原帖由 ShadowStar 于 2008-7-10 14:38 发表


conntrack_max限定的是nf_conn的数量,它应该是tuple * 2。设置过大仅仅会导致内存耗尽。理论上来说并不是内核崩溃的直接原因。

其实不管是不是一个tuple,只要pps够大,都会造成很大的影响,毕竟没个数 ...

原帖由 platinum 于 2008-7-10 14:48 发表

我以前做过试验,内存溢出后 socket 会有问题,ssh 会断开,系统很多 app 都无法正常运行
另外,2.6 内核系统里有个 pktgen,可以发送特制的 udp 包
如果这些包是同样的 sip 和 dip,pps 可以轻松到达 10Wp ...


高速小包是指那些攻击型的流量,如果服务器负载比较高,会出现假死现象,就是有30秒-几分钟时间,服务器没有任何响应,但实际上服务器是正常的,只是cpu在狂运算,完了后服务器会恢复正常,不会出现系统崩溃。所以只要cpu有余量能承受hash的计算量,就没有任何问题。所以我在使用中,设计的最高并发连接时26万,实际放流量时只放到16万左右,留的余量比较大。为了稳定,宁愿多用些机器

论坛徽章:
0
64 [报告]
发表于 2008-07-10 20:56 |只看该作者
原帖由 wheel 于 2008-7-10 16:10 发表
测了下还是有swap分区的好。。


能说一下依据么?

我建议不用swap,是因为有些系统程序要用很大内存,如果在某个瞬间,系统占用了比较多内存,恰好nat又要占用内存,nat的内存开到swap中了,大家都知道,硬盘处理速度慢内存n十倍,结果系统被拖进狂读写硬盘的进程,状态接近死机。之前我已经经历了n次这种情况,所以建议不用swap。

请ls的兄弟说说依据吧,我很想了解一下你的看法。

论坛徽章:
0
65 [报告]
发表于 2008-07-10 21:05 |只看该作者
请教 楼主:
你的并发连接数是如何得到具体的数值的?


小声问一句:是通过ip_conntrack么?

论坛徽章:
0
66 [报告]
发表于 2008-07-10 21:07 |只看该作者
请教 楼主:

你的并发连接数是如何具体计算出数值来的?:wink:




小声问一句:是通过ip_conntrack么?

论坛徽章:
0
67 [报告]
发表于 2008-07-10 21:14 |只看该作者
原帖由 platinum 于 2008-7-10 19:22 发表

如果 bucket 够大,按理说是不是就不会这样了呢?
或者说,是 netfilter 的 hash 函数写的不好,引起过多碰撞?


理论上是的,当bucket足够大时,碰撞的几率会更小。但是占用的内存会更高,索引的内存是一直占用的,无论有没有实际的tuple。

至于netfilter的hash函数,我觉得还是不错的。所有的hash算法都存在碰撞问题。

[ 本帖最后由 ShadowStar 于 2008-7-10 21:15 编辑 ]

论坛徽章:
0
68 [报告]
发表于 2008-07-10 21:29 |只看该作者
原帖由 ljily000 于 2008-7-10 21:07 发表
请教 楼主:

你的并发连接数是如何具体计算出数值来的?:wink:




小声问一句:是通过ip_conntrack么?


cat /proc/sys/net/ipv4/netfilter/ip_conntrack_count

论坛徽章:
0
69 [报告]
发表于 2008-07-10 22:58 |只看该作者
学习了!!!不过请教个菜鸟问题:
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established
net.ipv4.netfilter.ip_conntrack_buckets
net.ipv4.netfilter.ip_conntrack_count
net.ipv4.netfilter.ip_conntrack_max
这四个值分别是什么意思啊!

[ 本帖最后由 songpure520 于 2008-7-10 23:02 编辑 ]

论坛徽章:
0
70 [报告]
发表于 2008-07-11 10:23 |只看该作者
原帖由 ippen 于 2008-7-10 21:29 发表


cat /proc/sys/net/ipv4/netfilter/ip_conntrack_count



我的系统下没有这个文件咋办  rhel5.1   


看那个文件呢???
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP