文档首页/ 云专线 DC/ 用户指南/ 附录/ 物理专线带宽测试方法
更新时间:2023-05-05 GMT+08:00

物理专线带宽测试方法

操作场景

物理专线接入完成后,您需要测试链路的性能,确保物理专线可以满足您的业务需求。本文介绍通过iPerf3工具测试物理专线带宽的方法。

前提条件

  • 已完成物理专线的接入和路由配置,本地IDC(Internet Data Center)与华为云通过物理专线连通。
  • 准备1台IDC网络接入设备:作iPerf3测试中的客户端或服务器端。

    本文中,IDC网络接入设备的IP地址为192.168.0.1。

  • 准备6个可访问公网的弹性云服务器ECS实例:作为iPerf3测试中的客户端或服务器端。与IDC网络接入设备之间建立控制连接,传递测试配置相关的信息,以及测试结果。

    本文使用6个规格为c7.large.2,镜像为CentOS 8.2 64bit(40GB)的ECS实例,IP地址为172.16.0.2~172.16.0.7。

操作步骤

  1. 安装iPerf3搭建测试环境

    分别在IDC网络接入设备和6个ECS实例上安装iPerf3,以下内容以在ECS实例安装iPerf3为例。

    1. 登录ECS实例。
    1. 安装iPerf3。
      1. 执行以下命令,下载iPerf3。
        yum install iperf3
      2. 执行 iperf3 -v 命令,验证安装是否成功。
        iperf3 -v

        系统回显版本信息时,表示安装成功。

  1. 使用iPerf3测试物理专线的带宽

    iPerf3的主要参数说明如表1所示。

    表1 iPerf3参数说明

    主要参数

    参数说明

    -s

    服务端专用参数,表示iPerf3以服务端模式运行。

    -c

    客户端专用参数,表示iPerf3以客户端模式运行。

    -i

    设置每次报告之间的时间间隔,单位为秒。

    -p

    • 服务端:指定服务端监听的端口,默认为5201,同时监听TCP/UDP。
    • 客户端:指定客户端连接服务端的端口,默认为5201。如果同时有-u参数,表示通过UDP发起连接,否则默认使用TCP连接。

    -u

    表示使用UDP协议发送报文。若不指定该参数则表示使用TCP协议。

    -l

    设置读写缓冲区的长度。通常测试包转发性能时建议该值设为16,测试带宽时建议该值设为1400。

    -b

    UDP模式使用的带宽,单位bit/s。

    -t

    设置传输的总时间。iPerf3在指定时间内,重复发送指定长度数据包的时间,默认值为10秒。

    -A

    设置CPU亲和性,可以将iPerf3进程绑定对应编号的逻辑CPU,避免iPerf3进程在不同的CPU间被调度。

    1. 测试IDC网络接入设备作为服务端的带宽
      1. 在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
      2. 分别在6个ECS实例上执行iperf3 -u -l 16 -b 100m -t 120 -c server_ip -i 1 -p port命令,以客户端模式启动iPerf3进程,并指定到IDC网络接入设备的不同端口。

        执行命令示例如下:

         iperf3 -u -l 16 -b 100m -t 120 -c 192.168.0.1 -i 1 -p 16001 #第一个ECS实例
         iperf3 -u -l 16 -b 100m -t 120 -c 192.168.0.1 -i 1 -p 16002 #第二个ECS实例
         iperf3 -u -l 16 -b 100m -t 120 -c 192.168.0.1 -i 1 -p 16003 #第三个ECS实例
         iperf3 -u -l 16 -b 100m -t 120 -c 192.168.0.1 -i 1 -p 16004 #第四个ECS实例
         iperf3 -u -l 16 -b 100m -t 120 -c 192.168.0.1 -i 1 -p 16005 #第五个ECS实例
         iperf3 -u -l 16 -b 100m -t 120 -c 192.168.0.1 -i 1 -p 16006 #第六个ECS实例
    2. 测试IDC网络接入设备作为客户端的带宽
      1. 分别在6个ECS实例上执行iperf3 -s -i 1 -p 16001命令,以服务端模式启动iPerf3进程并指定端口。
      2. 在IDC网络接入设备上执行以下命令,以客户端模式启动6个iPerf3进程。
         iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.2 -i 1 -p 16001
         iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.3 -i 1 -p 16001
         iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.4 -i 1 -p 16001
         iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.5 -i 1 -p 16001
         iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.6 -i 1 -p 16001
         iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.7 -i 1 -p 16001
    3. 分析测试结果

      客户端的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

      丢失报文数/总报文数(丢包率)