万兆带宽测试方法
1. 安装netperf
略
2. 开启服务点进程
-sh-4.1# ./netserver
Starting netserver at port 12865
Starting netserver at hostname 0.0.0.0 port 12865 and family AF_UNSPEC
3. 开启单个客户端进程,测试下每个TCP连接的最大吞吐量
-sh-4.1# ./netperf -H 192.168.10.2 -l 60
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.10.2 (192.168.10.2) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
32768 32768 32768 60.00 3642.99
从测试结果可以看出,单连接的TCP吞吐量为3.6Gbps左右,这个值与系统的配置有关。
对于万兆网卡大概需要开启4个客户端进程。
4. 四个客户端进程测试
第一个测试结果:
-sh-4.1# ./netperf -H 192.168.10.2 -l 60
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.10.2 (192.168.10.2) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
32768 32768 32768 60.00 2520.14
第二个测试结果:
-sh-4.1# ./netperf -H 192.168.10.2 -l 60
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.10.2 (192.168.10.2) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
32768 32768 32768 60.00 2779.29
第三个测试结果:
-sh-4.1# ./netperf -H 192.168.10.2 -l 60
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.10.2 (192.168.10.2) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
32768 32768 32768 60.00 1421.87
第四个测试结果:
-sh-4.1# ./netperf -H 192.168.10.2 -l 60
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.10.2 (192.168.10.2) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
32768 32768 32768 60.00 2766.95
将其进行相加可得到网卡带宽:
2520.14 + 2779.29 + 1421.87 + 2766.95 = 9488.25
可知达到物理带宽的95%。
另外可以通过shell脚本在万兆网卡上捕捉数据。
得到的网卡带宽数据为9878.4Mbps,达到物理带宽的98%。
造成的原因是netperf得到的吞吐量为这段60s的平均值,而shell脚本捕捉的是1s的平均值。