更新时间:2022-06-11 GMT+08:00

Iperf的测试网络的方法?

前提条件

  • 保证源端与目的端网络连通,以及云服务平台上目的端服务器的安全组规则允许Iperf测试端口开放。配置安全组规则的具体方法请参见如何配置目的端服务器安全组规则?
  • 该测试需要在迁移前进行,而且在源端服务器上运行的业务对网络影响不大,否则测试数据不准。

测试步骤

  1. 根据源端服务器的OS类型下载对应iperf版本
  2. 在源端服务器和目的端服务器(或者目的端服务器同一Region下的其他弹性云服务器)某一个目录下解压iperf工具。例如在Windows操作系统的iperf工具:

  3. 在目的端服务器上,以命令行方式运行iperf(服务端模式运行,以Windows操作系统为例):

    1. 执行以下命令,进入iperf目录。

      cd /d path

      其中,path指2中iperf工具解压后在目的端服务器中的路径。

    2. 执行以下命令,以服务端运行iperf。

      iperf3 -p port -s

      其中,port表示iperf工具的服务端监听端口,建议Windows操作系统使用8900端口(8900为目的端服务器使用的数据传输端口),Linux操作系统使用22端口(22为目的端服务器使用的数据传输端口)。您测试的时候也可以使用其他端口,但要保证目的端服务器安全组规则允许开放该TCP或者UDP端口。

      更多的参数使用说明,请使用iperf -h查看。

      以Windows操作系统使用8900端口为例,当回显信息为Server listening on 8900时,表明服务端已经运行就绪。

  4. 在源端服务器上,以命令行方式运行iperf(客户端模式运行),测试TCP带宽和UDP的抖动、丢包率和带宽(以Windows操作系统为例)。

    1. 执行以下命令,进入iperf目录

      cd /d path

      其中,path指2中iperf工具解压后在源端服务器中的路径。

    2. 执行以下命令,运行iperf工具,测试TCP带宽。

      iperf3 -c target_IP -p port -t time

      其中,-c是客户端模式运行。

      • target_IP 表示目的端服务器(即以服务端模式运行iperf的服务器)的IP地址。
      • port表示连接目的端服务器的端口(即3.b中 iperf监听端口)。
      • time表示测试总时间,默认单位为秒。

      以Windows操作系统使用8900端口为例,iperf客户端连接到iperf服务端成功后会进行带宽(Bandwidth)测试,测试结束后查看结果即可:

    3. 执行以下命令,运行iper测试UDP的抖动、丢包率和带宽。

      iperf3 -c target_IP -p port -u -t time

      其中,-u表示测试UDP的抖动、丢包率和带宽。

      • target_IP 表示目的端服务器(即以服务端模式运行iperf的服务器)的IP地址。
      • port表示连接目的端服务器的端口(即3.b中 iperf监听端口)。
      • time表示测试总时间,默认单位为秒。

      以Windows操作系统使用8900端口为例,iperf客户端连接到iperf服务端成功后会测试UDP的抖动(Jitter)、丢包率(Lost/Total Datagrame)和带宽(Bandwidth),测试结束后查看结果即可。

    4. 若需要测试网络时延,可以使用ping命令。

      ping target_iP

      target_IP 表示目的端服务器(即以服务端模式运行iperf的服务器)的IP地址。

      需要配置目的端服务器所在的VPC的安全组规则,允许ICMP协议报文通过。

  5. 执行以下命令,获取更多的iperf的使用帮助。或者参照官网指导获取相应的使用帮助。

    iperf3 -h