小弟刚刚鸟枪换小炮。得到一台Intel(R) Core(TM)2 CPU 6400 @ 2.13GHz + PCI-E 4X 2.5GB的机器,以前看大家讨论多核,IRQ中断亲和的问题,心里头就发痒,现在终于有机会测试了!!!反复做了些测试,有一些值得思考的地方,将整个测试过程发上来(不包括性能改进方面的内容),与大家一起讨论(有点长,适合有耐心的TX看):
一些个人结论性的东西可能有误,希望大家指点!!!
一、测试环境:
发包机(PC_A) -------- (eth1)Linux(eth2)---------收包机(PC_B)
内核版本:2.6.12
网卡驱动:Intel e1000e[Intel现在把pci-e的千兆网卡单独拿出来了。整了个e1000e],NAPI模式;
发包工具:bwtest
Linux配置:网桥 + Netfilter;
数据包是单向发送64bytes小包。即PC_B不发包。
二、不开启IRQ中断均衡;
内核编译中,不开启此选项。
- Cpu(s): 0.0%% user, 0.5%% system, 0.0%% nice, 50.3%% idle
- Cpu0 : 1.0%% user, 0.0%% system, 0.0%% nice, 1.0%% idle
- Cpu1 : 0.0%% user, 0.0%% system, 0.0%% nice, 100.0%% idle
- Cpu(s): 0.0%% user, 0.0%% system, 0.0%% nice, 50.8%% idle
- Cpu0 : 0.0%% user, 0.0%% system, 0.0%% nice, 1.0%% idle
- Cpu1 : 0.0%% user, 0.0%% system, 0.0%% nice, 100.0%% idle
- Cpu(s): 0.5%% user, 0.0%% system, 0.0%% nice, 50.8%% idle
- Cpu0 : 0.0%% user, 1.0%% system, 0.0%% nice, 2.0%% idle
- Cpu1 : 0.0%% user, 0.0%% system, 0.0%% nice, 100.0%% idle