
# Iperf的测试网络的方法？
#### 前提条件
- 保证源端与目的端网络连通，以及华为云上目的端服务器的安全组规则允许Iperf测试端口开放。配置安全组规则的具体方法请参见[如何配置目的端服务器安全组规则？](https://support.huaweicloud.com/sms_faq/sms_faq_0011.html)。
- 该测试需要在迁移前进行，而且在源端服务器上运行的业务对网络影响不大，否则测试数据不准。
 
#### 测试步骤
1. 根据源端服务器的OS类型[下载对应iperf版本](https://iperf.fr/iperf-download.php)。
2. 在源端服务器和目的端服务器（或者目的端服务器同一Region下的其他弹性云服务器）某一个目录下解压iperf工具。例如在Windows操作系统的iperf工具：
   
   ![](https://support.huaweicloud.com/sms_faq/zh-cn_image_0125905307.png "点击放大")
   
   
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时，表明服务端已经运行就绪。
      ![](https://support.huaweicloud.com/sms_faq/zh-cn_image_0125905309.png "点击放大")
      
   
   
   
   
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）测试，测试结束后查看结果即可：
      ![](https://support.huaweicloud.com/sms_faq/zh-cn_image_0132503545.png "点击放大")
      
   
   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），测试结束后查看结果即可。
      ![](https://support.huaweicloud.com/sms_faq/zh-cn_image_0132503880.png "点击放大")
      
   
   4. 若需要测试网络时延，可以使用ping命令。 **ping** *target_iP*
      *target_IP* 表示目的端服务器（即以服务端模式运行iperf的服务器）的IP地址。
      需要配置目的端服务器所在的VPC的安全组规则，允许ICMP协议报文通过。
      
   
   
   
   
5. 执行以下命令，获取更多的iperf的使用帮助。或者[参照官网指导](https://iperf.fr/iperf-doc.php)获取相应的使用帮助。
   
   **iperf3 -h**
   
   
 
