
# 如何测试终端入云VPN网关的带宽
如果您需要测试终端入云VPN网关的带宽，推荐您使用iPerf3工具进行测试。若使用FTP、SCP等命令的话，传输文件的速率由于受到磁盘读写速度的影响无法反映真实的带宽速率。
#### 前提条件
- 已完成VPN网关和服务端的相关配置，客户端可以正常连接VPN网关。 本示例中，VPN网关规格为专业型1（最大转发带宽300Mbps）。
  
- 已部署3个ECS实例，位于VPN网关所在VPC网络中，用于模拟云上的资源节点。 本示例中，每个ECS实例规格均为c6.large.2（vCPUs：2，内存：4GB，系统镜像：CentOS 8.0-64bit）。
  
- 已准备3个云下设备，模拟接入客户端。 本示例中，设备A、设备B为Linux服务器（4U8G，运行ubuntu-20.04.6-live-server-amd64操作系统），设备C为PC（i7处理器，运行Windows 10操作系统）。
  
- 云下设备、ECS接口和网络的带宽能力满足要求（上、下行带宽不低于100Mbps）。
- 云下设备到VPN网关的网络质量较好。
 
#### 组网场景
本文介绍如何使用iPerf3工具测试VPN网关带宽，组网场景如[图 组网场景]所示。
图1组网场景   
![](https://support.huaweicloud.com/vpn_faq/figure/zh-cn_image_0000001981048677.png)
#### 安装iPerf3
此处以在本次测试使用的云下设备上安装iPerf3为例。
**在Linux上安装iPerf3**
1. 打开命令行窗口。
2. 执行以下命令，安装iPerf3。 yum install -y iperf3
   
3. 执行以下命令，查看是否安装成功。 iperf3 -v
   若系统回显iPerf版本信息，表示安装成功。
   
**在Windows上安装iPerf3**
在iPerf3官方网站[下载iPerf3](https://iperf.fr/iperf-download.php)，根据操作系统版本下载对应软件。
#### 使用iPerf3测试VPN网关的带宽
**iPerf3概述**
iPerf3的主要参数说明如[表1]所示。
 表1iPerf3主要参数说明 
| 主要参数 | 参数说明                                         |
|:---|:---|
| -s   | 服务端专用参数，表示iPerf3以服务端模式运行。                    |
| -c   | 客户端专用参数，表示iPerf3以客户端模式运行。                    |
| -p   | 指定服务端侦听端口，即客户端需要连接的服务端的端口（服务端和客户端的配置需要保持一致）。 |
| -i   | 发送数据的时间间隔，单位：秒。                              |
| -l   | 设置读写缓冲区的长度。建议该值设为1300，模拟业务数据payload为1300字节。  |
| -P   | 表示线程个数，不指定则默认单线程。                            |
   
**云下设备作为服务端**
1. 在云下设备上执行以下命令，以服务端模式启动iPerf3进程，并指定不同的侦听端口。示例如下：
   - 设备A（Linux） iperf3 -s -p 20001
     
   
   - 设备B（Linux） iperf3 -s -p 20002
     
   
   - 设备C（Windows） iperf3.exe -s -p 20003
     
    
2. 分别在3个ECS实例上，执行以下命令，以客户端模式启动iPerf3进程，并指定云下设备对应的服务端侦听端口。 **iperf3 -c** *server-ip* **-p** *server-port* **-l 1300 -P 10**
   示例如下：
   ```
   iperf3 -c 192.168.10.1 -p 20001 -l 1300 -P 10
   iperf3 -c 192.168.10.2 -p 20002 -l 1300 -P 10
   iperf3 -c 192.168.10.3 -p 20003 -l 1300 -P 10
   ```
   
**云下设备作为客户端**
1. 分别在3个ECS实例上，执行以下命令，以服务端模式启动iPerf3进程并指定不同的侦听端口。 **iperf3 -s -p** *server-port*
   示例如下：
   ```
   iperf3 -s -p 20001
   iperf3 -s -p 20002
   iperf3 -s -p 20003
   ```
   
2. 分别在云下设备上，执行以下命令，以客户端模式启动iPerf3进程，并指定ECS实例对应的侦听端口。示例如下：
   - 设备A iperf3 -c 172.16.10.1 -p 20001 -l 1300 -P 10
     
   
   - 设备B iperf3 -c 172.16.10.2 -p 20002 -l 1300 -P 10
     
   
   - 设备C iperf3.exe -c 172.16.10.3 -p 20003 -l 1300 -P 10
     
    
**测试结果**
iPerf3进程执行完毕后，会显示如下的结果。
```
Connecting to host 172.16.10.1, port 20001
[  4] local 192.168.10.1 port 20001 connected to 172.16.10.1 port 20001
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  8.62 MBytes  72.1 Mbits/sec
[  4]   1.00-2.01   sec  9.88 MBytes  82.2 Mbits/sec
[  4]   2.01-3.01   sec  9.88 MBytes  82.9 Mbits/sec
[  4]   3.01-4.00   sec  9.50 MBytes  80.4 Mbits/sec
[  4]   4.00-5.01   sec  9.88 MBytes  82.1 Mbits/sec
[  4]   5.01-6.01   sec  9.62 MBytes  81.2 Mbits/sec
[  4]   6.01-7.00   sec  9.12 MBytes  77.0 Mbits/sec
[  4]   7.00-8.01   sec  10.0 MBytes  83.2 Mbits/sec
[  4]   8.01-9.01   sec  9.50 MBytes  79.9 Mbits/sec
[  4]   9.01-10.01  sec  8.62 MBytes  72.4 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.01  sec  94.6 MBytes  79.3 Mbits/sec                  sender
[  4]   0.00-10.01  sec  94.6 MBytes  79.3 Mbits/sec                  receiver
```
根据上述iperf3测试的结果，从192.168.10.1到172.16.10.1的连接中，传输速率大约是79.3 Mbits/sec。整个测试持续了10秒钟，期间发送了94.6MB的数据。
