通过iPerf3工具测试物理专线带宽可用性
操作场景
物理专线接入完成后,您需要测试链路的性能,确保物理专线可以满足您的业务需求。
本文介绍通过iPerf3工具测试物理专线带宽的方法。
前提条件
搭建测试环境
分别在IDC网络接入设备和6个ECS实例上安装iPerf3,下文以在ECS实例安装iPerf3为例。
- 登录ECS实例。
- 安装iPerf3。
- 执行以下命令,下载iPerf3。
yum install iperf3
- 执行 iperf3 -v 命令,验证安装是否成功。
iperf3 -v
系统回显版本信息时,表示安装成功。
- 执行以下命令,下载iPerf3。
使用iPerf3测试物理专线的带宽
iPerf3概述
iPerf3是一款开源、轻量、跨平台的网络性能测试工具,专门用于主动测量TCP、UDP协议下网络链路的带宽吞吐量、丢包率、延迟抖动、报文PPS转发速率,是企业物理专线、云专线、骨干网、内网带宽验收的行业标准工具。
运行模式为C/S客户端/服务端架构:一端启动服务端监听,另一端客户端主动连接发包测试。
iPerf3的主要参数说明如表1所示。
| 主要参数 | 参数说明 |
|---|---|
| -s | 服务端专用参数,表示iPerf3以服务端模式运行。 |
| -c | 客户端专用参数,表示iPerf3以客户端模式运行。 |
| -i | 设置每次报告之间的时间间隔,单位为秒。 |
| -p |
|
| -u | 表示使用UDP协议发送报文。若不指定该参数则表示使用TCP协议。 |
| -l | 设置读写缓冲区的长度。通常测试带宽时建议该值设为1400,测试包转发性能时建议该值设为16。 |
| -b | UDP模式使用的带宽,单位bit/s。 |
| -t | 设置传输的总时间。iPerf3在指定时间内,重复发送指定长度数据包的时间,默认值为10秒。 |
| -A | 设置CPU亲和性,可以将iPerf3进程绑定对应编号的逻辑CPU,避免iPerf3进程在不同的CPU间被调度。 |
测试IDC网络接入设备作为服务端的带宽
- 在IDC网络接入设备上执行以下命令,以服务端模式启动iPerf3进程,指定不同端口。
iperf3 -s -i 1 -p 16001 iperf3 -s -i 1 -p 16002 iperf3 -s -i 1 -p 16003 iperf3 -s -i 1 -p 16004 iperf3 -s -i 1 -p 16005 iperf3 -s -i 1 -p 16006
- 分别在6个ECS实例上执行iperf3 -u -l 1400 -b 100m -t 120 -c server_ip -i 1 -p port命令,以客户端模式启动iPerf3进程,并指定到IDC网络接入设备的不同端口。
执行命令示例如下:
iperf3 -u -l 1400 -b 100m -t 120 -c 192.168.0.1 -i 1 -p 16001 #第一个ECS实例 iperf3 -u -l 1400 -b 100m -t 120 -c 192.168.0.1 -i 1 -p 16002 #第二个ECS实例 iperf3 -u -l 1400 -b 100m -t 120 -c 192.168.0.1 -i 1 -p 16003 #第三个ECS实例 iperf3 -u -l 1400 -b 100m -t 120 -c 192.168.0.1 -i 1 -p 16004 #第四个ECS实例 iperf3 -u -l 1400 -b 100m -t 120 -c 192.168.0.1 -i 1 -p 16005 #第五个ECS实例 iperf3 -u -l 1400 -b 100m -t 120 -c 192.168.0.1 -i 1 -p 16006 #第六个ECS实例
测试IDC网络接入设备作为客户端的带宽
- 分别在6个ECS实例上执行iperf3 -s -i 1 -p 16001命令,以服务端模式启动iPerf3进程并指定端口。
- 在IDC网络接入设备上执行以下命令,以客户端模式启动6个iPerf3进程。
iperf3 -u -l 1400 -b 100m -t 120 -c 172.16.0.2 -i 1 -p 16001 iperf3 -u -l 1400 -b 100m -t 120 -c 172.16.0.3 -i 1 -p 16001 iperf3 -u -l 1400 -b 100m -t 120 -c 172.16.0.4 -i 1 -p 16001 iperf3 -u -l 1400 -b 100m -t 120 -c 172.16.0.5 -i 1 -p 16001 iperf3 -u -l 1400 -b 100m -t 120 -c 172.16.0.6 -i 1 -p 16001 iperf3 -u -l 1400 -b 100m -t 120 -c 172.16.0.7 -i 1 -p 16001
分析测试结果
客户端的iPerf3进程执行完毕后,会显示以下结果。通过将对端收到的包数除以时间,计算出测试链路的pps,即pps=对端收到的包÷时间。
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams [ 4] 0.00-10.00 sec 237 MBytes 199 Mbits/sec 0.027 ms 500/30352 (1.6%) [ 4] Sent 30352 datagrams
显示结果中各字段含义如下表所示。
| 字段 | 含义 |
|---|---|
| Transfer | 传输的总数据量 |
| Bandwidth | 带宽大小 |
| Jitter | 抖动 |
| Lost/Total Datagrams | 丢失报文数/总报文数(丢包率) |