使用Netperf工具测试物理专线的包转发性能
Netperf概述
Netperf安装完成后会创建两个命令行工具:netserver(服务端:接收端工具)和netperf(客户端:发送端工具),主要参数说明如下表所示。
工具名称
主要参数
参数说明
Netserver
-p
监听的端口号。
netperf
-H
IDC网络接入设备或ECS实例的IP地址。
-p
IDC网络接入设备或ECS实例的端口。
-l
运行时间。
-t
发送报文的协议类型:TCP_STREAM或UDP_STREAM。
推荐使用UDP_STREAM。
-m
数据包大小。
测试pps(packet per second)时,建议设置为1。
测试bps(bit per second)时,建议设置为1400。
测试IDC网络接入设备作为服务端的包转发性能
在IDC网络接入设备启动netserver进程,指定不同端口。
netserver -p 11256
netserver -p 11257
netserver -p 11258
netserver -p 11259
netserver -p 11260
netserver -p 11261
netserver -p 11262
netserver -p 11263
分别在8个ECS实例上执行netperf -H server_ip -p port 6 -t UDP_STREAM -l 300 -- -m 1命令,启动netperf进程,并指定到IDC网络接入设备的不同netserver端口。
测试pps时,执行命令示例如下所示:netperf -H 192.168.100.1 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #第一个ECS实例
netperf -H 192.168.100.1 -p 11257 -t UDP_STREAM -l 300 -- -m 1 #第二个ECS实例
netperf -H 192.168.100.1 -p 11258 -t UDP_STREAM -l 300 -- -m 1 #第三个ECS实例
netperf -H 192.168.100.1 -p 11259 -t UDP_STREAM -l 300 -- -m 1 #第四个ECS实例
netperf -H 192.168.100.1 -p 11260 -t UDP_STREAM -l 300 -- -m 1 #第五个ECS实例
netperf -H 192.168.100.1 -p 11261 -t UDP_STREAM -l 300 -- -m 1 #第六个ECS实例
netperf -H 192.168.100.1 -p 11262 -t UDP_STREAM -l 300 -- -m 1 #第七个ECS实例
netperf -H 192.168.100.1 -p 11263 -t UDP_STREAM -l 300 -- -m 1 #第八个ECS实例
测试bps时,执行命令示例如下所示:netperf -H 192.168.100.1 -p 11256 -t UDP_STREAM -l 300 -- -m 1400 #第一个ECS实例
netperf -H 192.168.100.1 -p 11257 -t UDP_STREAM -l 300 -- -m 1400 #第二个ECS实例
netperf -H 192.168.100.1 -p 11258 -t UDP_STREAM -l 300 -- -m 1400 #第三个ECS实例
netperf -H 192.168.100.1 -p 11259 -t UDP_STREAM -l 300 -- -m 1400 #第四个ECS实例
netperf -H 192.168.100.1 -p 11260 -t UDP_STREAM -l 300 -- -m 1400 #第五个ECS实例
netperf -H 192.168.100.1 -p 11261 -t UDP_STREAM -l 300 -- -m 1400 #第六个ECS实例
netperf -H 192.168.100.1 -p 11262 -t UDP_STREAM -l 300 -- -m 1400 #第七个ECS实例
netperf -H 192.168.100.1 -p 11263 -t UDP_STREAM -l 300 -- -m 1400 #第八个ECS实例
测试IDC网络接入设备作为客户端的包转发性能
分别在8个ECS实例上执行netserver -p 11256命令,启动netserver进程,并指定端口。
在IDC网络接入设备内执行netperf -H ECS_ip -p port -t UDP_STREAM -l 300 -- -m 1命令,启动8个netperf进程,并指定为不同的ECS实例IP地址。
测试pps时,执行命令示例如下所示:netperf -H 172.16.0.2 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #第一个ECS实例
netperf -H 172.16.0.3 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #第二个ECS实例
netperf -H 172.16.0.4 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #第三个ECS实例
netperf -H 172.16.0.5 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #第四个ECS实例
netperf -H 172.16.0.6 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #第五个ECS实例
netperf -H 172.16.0.7 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #第六个ECS实例
netperf -H 172.16.0.8 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #第七个ECS实例
netperf -H 172.16.0.9 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #第八个ECS实例
测试bps时,执行命令示例如下所示:netperf -H 172.16.0.2 -p 11256 -t UDP_STREAM -l 300 -- -m 1400 #第一个ECS实例
netperf -H 172.16.0.3 -p 11257 -t UDP_STREAM -l 300 -- -m 1400 #第二个ECS实例
netperf -H 172.16.0.4 -p 11258 -t UDP_STREAM -l 300 -- -m 1400 #第三个ECS实例
netperf -H 172.16.0.5 -p 11259 -t UDP_STREAM -l 300 -- -m 1400 #第四个ECS实例
netperf -H 172.16.0.6 -p 11260 -t UDP_STREAM -l 300 -- -m 1400 #第五个ECS实例
netperf -H 172.16.0.7 -p 11261 -t UDP_STREAM -l 300 -- -m 1400 #第六个ECS实例
netperf -H 172.16.0.8 -p 11262 -t UDP_STREAM -l 300 -- -m 1400 #第七个ECS实例
netperf -H 172.16.0.9 -p 11263 -t UDP_STREAM -l 300 -- -m 1400 #第八个ECS实例
分析测试结果
客户端的netperf进程执行完毕后,会显示以下结果。通过发送成功的报文数除以测试时间,计算出测试链路的pps,即pps=发送成功的报文数÷测试时间。Socket Message Elapsed Messages
Size Size Time Okay Errors Throughput
bytes bytes secs # # 10^6bits/sec
124928 1 10.00 4532554 0 3.63
212992 10.00 1099999 0.88
显示结果中各字段含义如下表所示。
字段
含义
Socket Size
缓冲区大小
Message Size
数据包大小(Byte)
Elapsed Time
测试时间(s)
Message Okay
发送成功的报文数
Message Errors
发送失败的报文数
Throughput
网络吞吐量(Mbps)