万兆带宽测试方法

时间:2024-02-24 22:33:52

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脚本在万兆网卡上捕捉数据。

clipboard

得到的网卡带宽数据为9878.4Mbps,达到物理带宽的98%。

造成的原因是netperf得到的吞吐量为这段60s的平均值,而shell脚本捕捉的是1s的平均值。