测试环境:IBM HS22 X5650 24Gram Chelsio T420-BCH 关闭超线程 两台,BNT Virtual Fabric 10Gb Switch Module for IBM BladeCenter 两台,RHEL 6.3,ChelsioUwire-2.2.0.0,iperf 2.0.5 (08 Jul 2010) pthreads
详细测试结果见下面的表格,显而易见,万兆TOE还是非常有必要的,否则光对10GB的TCP流量进行基本处理就耗尽CPU资源了。
CPU负载(12 cores平均) | |||
with TOE | without TOE | ||
单万兆 1个连接 发送 | 1.2-1.5 | 3.3-3.7 | |
单万兆 1个连接 接收 | 0.5-0.7 | 4.0-4.6 | |
单万兆 1个连接 收发 | 1.5-1.7 | 7.3-7.7 | |
单万兆 10个连接 发送 | 1.0-1.3 | 4.0-4.4 | |
单万兆 10个连接 接收 | 0.6-0.8 | 45-48 | |
单万兆 10个连接 收发 | 1.7-2.2 | 55-62 | |
单万兆 100个连接 发送 | 1.2-1.3 | 5.0-5.5 | |
单万兆 100个连接 接收 | 0.6-0.8 | 53-46 | |
单万兆 1000个连接 发送 | 1.8-2.2 | 4.7-4.9 | |
单万兆 1000个连接 接收 | 4.5-4.9 | 44-46 | |
双万兆 1个连接 发送 | 1.8-2.1 | 5.5-8.5 | 带宽未满载 |
双万兆 1个连接 接收 | 0.9-1.2 | 9.1-9.2 | 带宽未满载 |
双万兆 1个连接 收发 | 2.6-2.9 | 15-16 | 带宽未满载 |
双万兆 10个连接 发送 | 2.1-2.6 | 9.5-10 | |
双万兆 10个连接 接收 | 1.1-1.5 | 67-69 | |
双万兆 10个连接 收发 | 3.1-3.5 | 91-93 | 带宽未满载 |
双万兆 100个连接 发送 | 2.1-2.5 | 13-15 | |
双万兆 100个连接 接收 | 1.4-1.7 | 78-81 | |
双万兆 1000个连接 发送 | 6.9-7.3 | 12-14 | |
双万兆 1000个连接 接收 | 8.0-9.2 | 58-60 |
双万兆1个连接的三个测试没有跑满万兆,是因为每个连接的中断只能由一个core来处理,结果这个core跑满了。双万兆 10个连接收发没有跑满万兆,是所有的core都跑满了
版主,在吗?请问您的测试程序是自己写的吗?
用的开源的iperf