免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 57048 | 回复: 96
打印 上一主题 下一主题

[网络管理] linux nat 不支持双cpu? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-11 23:47 |只看该作者 |倒序浏览
我用linux做nat,服务器是intel的双至强64位的3Gcpu,内存1G,软件系统 centos3.6,将流量加上后,用top检测CPU的状态,发现四个内核cpu只用了一个(64位至强CPU有两个内核),即有一个内核是满负载,其他三个完全空闲,但只要将NAT取消,4个cpu就平均分配任务,非常不解,各位老大有何办法?
在网上搜索了一下,可以确认netfilter是支持多CPU的

[ 本帖最后由 ippen 于 2006-5-11 23:48 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-05-12 00:45 |只看该作者
原帖由 ippen 于 2006-5-11 23:47 发表
在网上搜索了一下,可以确认netfilter是支持多CPU的

哪里有提到?我去看一下

论坛徽章:
0
3 [报告]
发表于 2006-05-12 07:03 |只看该作者

论坛徽章:
0
4 [报告]
发表于 2006-05-12 08:06 |只看该作者

论坛徽章:
0
5 [报告]
发表于 2006-05-12 08:56 |只看该作者
原帖由 platinum 于 2006-5-12 00:45 发表

哪里有提到?我去看一下


至少Netfilter代码上边是支持的……
没有亲自试过

看了你贴的那篇文章,很有参考价值,只是可惜没有看到作者测试的是哪个版本的,也不知到目前的内核/Netfilter有没有改进……

但是从作者的实验当中来看,Netfilter肯定是支持多处理器的,楼主是不是哪儿没有配置好啊……呵呵

[ 本帖最后由 独孤九贱 于 2006-5-12 09:09 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2006-05-12 09:51 |只看该作者
多谢白金老大!
从文章结论看,单cpu比双cpu要好 ,真是郁闷,我的双cpu机子白买了
to 九贱兄:
你建议要调整哪些地方?我将系统装好后,只做了简单的一些调整---- 参数 ip_conntrack_max,route/max_size,kernel/shmmax,kernel/shmall

论坛徽章:
0
7 [报告]
发表于 2006-05-12 09:55 |只看该作者
贴个top状态,可以看见第四个cpu是满负载,其他空闲,cpu会轮换----过一段时间后会变为第一个cpu满负载

09:55:02  up 20:06,  1 user,  load average: 0.99, 0.95, 0.83
33 processes: 31 sleeping, 2 running, 0 zombie, 0 stopped
CPU states:  cpu    user    nice  system    irq  softirq  iowait    idle
           total    0.0%    0.0%    0.0%   0.0%    25.3%    0.0%   74.6%
           cpu00    0.1%    0.0%    0.0%   0.0%     0.0%    0.0%   99.8%
           cpu01    0.0%    0.0%    0.0%   0.0%     0.3%    0.0%   99.6%
           cpu02    0.0%    0.0%    0.0%   0.0%     1.0%    0.0%   99.0%
           cpu03    0.0%    0.0%    0.0%   0.0%   100.0%    0.0%    0.0%
Mem:  1009404k av,  451252k used,  558152k free,       0k shrd,    1312k buff
        20976k active,               6428k inactive
Swap:       0k av,       0k used,       0k free                   23980k cached

  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME CPU COMMAND

论坛徽章:
0
8 [报告]
发表于 2006-05-12 10:23 |只看该作者

wc -l /proc/net/ip_conntrack
iptables-save
贴一下两个结果
你的网络带宽多大,大概有多少个用户?

论坛徽章:
0
9 [报告]
发表于 2006-05-12 11:05 |只看该作者
# Generated by iptables-save v1.2.8 on Fri May 12 10:54:35 2006
*nat
REROUTING ACCEPT [3073422:457854968]
OSTROUTING ACCEPT [2305671:391634389]
:OUTPUT ACCEPT [78:12168]
-A POSTROUTING -o eth1 -p tcp -m tcp --dport 25 -j RETURN
-A POSTROUTING -o eth1 -p udp -m udp --dport 25 -j RETURN
-A POSTROUTING -o eth1 -p tcp -m tcp --dport 110 -j RETURN
-A POSTROUTING -o eth1 -p udp -m udp --dport 110 -j RETURN
-A POSTROUTING -o eth1 -p tcp -m tcp --sport 25 -j RETURN
-A POSTROUTING -o eth1 -p udp -m udp --sport 25 -j RETURN
-A POSTROUTING -o eth1 -p tcp -m tcp --sport 110 -j RETURN
-A POSTROUTING -o eth1 -p udp -m udp --sport 110 -j RETURN
-A POSTROUTING -o eth1 -p tcp -m tcp --sport 80 -j RETURN
-A POSTROUTING -s 211.156.xxx.xxx -o eth1 -j RETURN
-A POSTROUTING -d 210.17.209.0/255.255.255.0 -o eth1 -j RETURN
-A POSTROUTING -d 202.106.168.0/255.255.255.0 -o eth1 -j RETURN
-A POSTROUTING -d 202.108.44.0/255.255.255.0 -o eth1 -j RETURN
-A POSTROUTING -d 61.135.159.0/255.255.255.0 -o eth1 -j RETURN
-A POSTROUTING -d 219.142.91.0/255.255.255.0 -o eth1 -j RETURN
-A POSTROUTING -d 203.166.128.137 -o eth1 -j RETURN
-A POSTROUTING -s 211.156.xxx.xxx/255.255.240.0 -o eth1 -j SNAT --to-source 221.xxx.xxx.xxx-221.xxx.xxx.xxx
-A POSTROUTING -s 210.xxx.xxx.xxx/255.255.192.0 -o eth1 -j SNAT --to-source 221.xxx.xxx.xxx-221.xxx.xxx.xxx
-A POSTROUTING -s 61.xxx.xxx.xxx/255.255.192.0 -o eth1 -j SNAT --to-source 221.xxx.xxx.xxx-221.xxx.xxx.xxx
-A POSTROUTING -s 125.xxx.xxx.xxx/255.255.0.0 -o eth1 -j SNAT --to-source 221.xxx.xxx.xxx-221.xxx.xxx.xxx
COMMIT
# Completed on Fri May 12 10:54:35 2006

wc -l /proc/net/ip_conntrack

121382

这个数在高峰时到190000


网路带宽峰值大约在150M,用户数不太好统计,因为nat是为了解决到网通速度的问题,无法确认有多少用户访问网通

论坛徽章:
0
10 [报告]
发表于 2006-05-12 11:08 |只看该作者

策略有问题,你应该在 filter 表的 FORWARD 链做处理
因为,如果你在 POSTROUTING 链做处理的话,所有数据包都要先经过 Linux 的路由机制,从而导致了性能下降
另外,你应该减少 tcp 的 established 时间,缩短其在连接追踪表中的残留时间
如果方便的话,我能登录到你的服务器看一下比较好
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP