使用netperf测试网络

 2018年5月27日 22:25   Nick王   运维    0 评论   205 浏览 

环境准备

待测试机器

陪练机N台(本次实验是4台)

安装netperf

wget https://github.com/HewlettPackard/netperf/archive/netperf-2.7.0.zip
unzip netperf-2.7.0.zip
cd netperf-netperf-2.7.0/
./configure && make && make install

测试收方向(RX 下行)

在测试机中启动四个netserver进程:

## 使用sar统计包的数量
sar -n DEV 1 320

./netserver -p 11256
./netserver -p 11257
./netserver -p 11258
./netserver -p 11259

测试PPS

在陪练机启动netperf,分别指向不同的netserver端口:

./netperf -H 10.2.30.203 -p 11256 -t UDP_STREAM -l 300 -- -m 1  # 第一台陪练机
./netperf -H 10.2.30.203 -p 11257 -t UDP_STREAM -l 300 -- -m 1  # 第二台陪练机
./netperf -H 10.2.30.203 -p 11258 -t UDP_STREAM -l 300 -- -m 1  # 第三台陪练机
./netperf -H 10.2.30.203 -p 11259 -t UDP_STREAM -l 300 -- -m 1  # 第四台陪练机

测试结果如下:

./netperf -H 10.2.30.203 -p 11256 -t UDP_STREAM -l 300 -- -m 1
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.2.30.203 () port 0 AF_INET
Socket  Message  Elapsed      Messages
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

8388608       1   300.00    212748484      0       5.67
8388608           300.00    163925654              4.37
# 缓冲区大小  数据包大小  测试时间  数据包成功数  失败数    网络吞吐量Mbit/s

./netperf -H 10.2.30.203 -p 11257 -t UDP_STREAM -l 300 -- -m 1
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.2.30.203 () port 0 AF_INET
Socket  Message  Elapsed      Messages
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

8388608       1   300.00    206841564      0       5.52
8388608           300.00    159225067              4.25


./netperf -H 10.2.30.203 -p 11258 -t UDP_STREAM -l 300 -- -m 1
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.2.30.203 () port 0 AF_INET
Socket  Message  Elapsed      Messages
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

8388608       1   300.00    172288482      0       4.59
8388608           300.00    132292106              3.53


./netperf -H 10.2.30.203 -p 11259 -t UDP_STREAM -l 300 -- -m 1
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.2.30.203 () port 0 AF_INET
Socket  Message  Elapsed      Messages
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

8388608       1   300.00    216401170      0       5.77
8388608           300.00    166896671              4.45

测试BPS

./netperf -H 10.2.30.203 -p 11256 -t UDP_STREAM -l 300 -- -m 1400  # 第一台陪练机
./netperf -H 10.2.30.203 -p 11257 -t UDP_STREAM -l 300 -- -m 1400  # 第二台陪练机
./netperf -H 10.2.30.203 -p 11258 -t UDP_STREAM -l 300 -- -m 1400  # 第三台陪练机
./netperf -H 10.2.30.203 -p 11259 -t UDP_STREAM -l 300 -- -m 1400  # 第四台陪练机

测试结果如下:

./netperf -H 10.2.30.203 -p 11256 -t UDP_STREAM -l 300 -- -m 1400
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.2.30.203 () port 0 AF_INET
Socket  Message  Elapsed      Messages
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

8388608    1400   300.00    192354353      0    7181.23
8388608           300.00    65456777           2443.72


./netperf -H 10.2.30.203 -p 11257 -t UDP_STREAM -l 300 -- -m 1400
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.2.30.203 () port 0 AF_INET
Socket  Message  Elapsed      Messages
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

8388608    1400   300.00    194144705      0    7248.07
8388608           300.00    63586990           2373.91


./netperf -H 10.2.30.203 -p 11258 -t UDP_STREAM -l 300 -- -m 1400
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.2.30.203 () port 0 AF_INET
Socket  Message  Elapsed      Messages
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

8388608    1400   300.00    207934824      0    7762.90
8388608           300.00    69053148           2577.98


./netperf -H 10.2.30.203 -p 11259 -t UDP_STREAM -l 300 -- -m 1400
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.2.30.203 () port 0 AF_INET
Socket  Message  Elapsed      Messages
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

8388608    1400   300.00    208920254      0    7799.69
8388608           300.00    71794686           2680.33

测试发方向(TX 上行)

在所有陪练机启动1个netserver进程:

./netserver -p 11256

测试PPS

在测试机启动四个netperf进行,并使用sar命令监控包的数量:

./netperf -H 10.2.30.204 -p 11256 -t UDP_STREAM -l 300 -- -m 1 # 第一台陪练机
./netperf -H 10.2.30.205 -p 11256 -t UDP_STREAM -l 300 -- -m 1 # 第二台陪练机
./netperf -H 10.2.30.206 -p 11256 -t UDP_STREAM -l 300 -- -m 1 # 第三台陪练机
./netperf -H 10.2.30.207 -p 11256 -t UDP_STREAM -l 300 -- -m 1 # 第四台陪练机

测试结果:

./netperf -H 10.2.30.204 -p 11256 -t UDP_STREAM -l 300 -- -m 1
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.2.30.204 () port 0 AF_INET
Socket  Message  Elapsed      Messages
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

8388608       1   300.00    157476518      0       4.20
8388608           300.00    151231462              4.03


./netperf -H 10.2.30.205 -p 11256 -t UDP_STREAM -l 300 -- -m 1
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.2.30.205 () port 0 AF_INET
Socket  Message  Elapsed      Messages
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

8388608       1   300.00    155216306      0       4.14
8388608           300.00    151950760              4.05


./netperf -H 10.2.30.206 -p 11256 -t UDP_STREAM -l 300 -- -m 1
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.2.30.206 () port 0 AF_INET
Socket  Message  Elapsed      Messages
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

8388608       1   300.00    155645251      0       4.15
8388608           300.00    149793130              3.99


./netperf -H 10.2.30.207 -p 11256 -t UDP_STREAM -l 300 -- -m 1
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.2.30.207 () port 0 AF_INET
Socket  Message  Elapsed      Messages
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

8388608       1   300.00    197792880      0       5.27
8388608           300.00    169336673              4.52

测试BPS

./netperf -H 10.2.30.204 -p 11256 -t UDP_STREAM -l 300 -- -m 1400 # 第一台陪练机
./netperf -H 10.2.30.205 -p 11256 -t UDP_STREAM -l 300 -- -m 1400 # 第二台陪练机
./netperf -H 10.2.30.206 -p 11256 -t UDP_STREAM -l 300 -- -m 1400 # 第三台陪练机
./netperf -H 10.2.30.207 -p 11256 -t UDP_STREAM -l 300 -- -m 1400 # 第四台陪练机

测试TCP_STREAM

测试方法同上

./netperf -H 10.2.30.203 -p 11256 -t TCP_STREAM -l 300 -- -m 2048  # 第一台陪练机
./netperf -H 10.2.30.203 -p 11257 -t TCP_STREAM -l 300 -- -m 2048  # 第二台陪练机
./netperf -H 10.2.30.203 -p 11258 -t TCP_STREAM -l 300 -- -m 2048  # 第三台陪练机
./netperf -H 10.2.30.203 -p 11259 -t TCP_STREAM -l 300 -- -m 2048  # 第四台陪练机

测试结果:

./netperf -H 10.2.30.203 -p 11256 -t TCP_STREAM -l 300 -- -m 2048
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.2.30.203 () port 0 AF_INET
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec

 16384  16384   2048    300.07   2627.40

netperf解释

UDP_STREAM测试结果解释:

./netperf -H 10.2.30.206 -p 11256 -t UDP_STREAM -l 300 -- -m 1400
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.2.30.206 () port 0 AF_INET
Socket  Message  Elapsed      Messages
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

8388608    1400   300.00    67021335 138082393    2502.13
8388608           300.00    67019971           2502.08

UDP_STREAM方式的结果中有两行测试数据,第一行显示的是本地系统的发送统计, 第二行显示的就是远端系统接收的情况。

TCP_STREAM测试结果解释:

./netperf -H 10.2.30.203 -p 11256 -t TCP_STREAM -l 300 -- -m 2048
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.2.30.203 () port 0 AF_INET
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec

 16384  16384   2048    300.07   2627.40
  1. 远端系统(即server)使用大小为16384字节的socket接收缓冲

  2. 本地系统(即client)使用大小为16384字节的socket发送缓冲

  3. 向远端系统发送的测试分组大小为2048字节

  4. 测试经历的时间为300.07秒

  5. 吞吐量的测试结果为2627.40Mbits/秒

如果怀疑路由器由于缺乏足够的缓冲区空间,使得转发大的分组时存在问题,就可以增加测试分组(-m)的大小,以观察吞吐量的变化。







如无特殊说明,文章均为本站原创,转载请注明出处