如何排查 VPN 连接上的低带宽问题?

上次更新日期:2021 年 5 月 19 日

我的 VPN 连接上的带宽低。我可以运行哪些测试以验证问题不在我的 Amazon Virtual Private Cloud (Amazon VPC) 中发生?

解决方法

启动两个运行 Linux 的 EC2 实例进行测试

在开始性能测试之前,请在同一 VPC 中至少两个不同的可用区内启动 Amazon Elastic Compute Cloud (Amazon EC2) Linux 实例。您将使用这些实例进行网络性能测试。确认实例支持 Linux 上的增强联网

注意:如果要对并非共存于相同置放群组或不支持极大帧的两个实例执行网络测试,请在您的 Linux 实例上检查并设置 MTU

然后,请确保您可以通过 SSH 连接到实例,并将实例使用的安全组配置为允许通过 iperf3 使用的端口进行通信。用于测试 TCP 性能的默认端口是 5201。

注意:您可以使用 -p 配置 iperf3 以使用您所需的端口。

在两个实例上安装 iperf3 网络基准测试工具

使用终端会话连接到 Linux 实例,然后安装 iperf3:

要在基于 RHEL 的 Linux 主机上安装 iperf3:

$ sudo yum install iperf3

要在 Debian/Ubuntu 主机上安装 iperf3:

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install git gcc make
$ git clone https://github.com/esnet/iperf3
$ cd iperf3
$ ./configure
$ sudo make
$ sudo make install
# optionally run "make clean" to free up disk space
# by removing artifacts in the build tree.
$ sudo make clean
$ sudo ldconfig

接下来,运行以下命令将一个实例配置为服务器,以便在默认端口上侦听:

$ sudo iperf3 -s -V

使用 iperf3 运行网络测试

将本地主机配置为客户端,然后针对您的实例运行以下一个或多个测试:

以下命令的输出显示了 20 个并行流的结果,其中每个 TCP 连接的窗口大小都在增加:

sudo iperf3 -c <Private/public IP of instance> -P 20 -w 128K -V
sudo iperf3 -c <Private/public IP of instance> -P 20 -w 512K -V
sudo iperf3 -c <Private/public IP of instance> -P 20 -w 1024K -V

以下命令的输出显示了提高带宽容量的结果以及每个 UDP 连接 30 秒的时间范围:

iperf3 -c <Private/public IP of EC2 instance> -u -b 200M -t 30
iperf3 -c <Private/public IP of EC2 instance> -u -b 500M -t 30
iperf3 -c <Private/public IP of EC2 instance> -u -b 1G -t 30

在 EC2 实例的私有 IP 地址和本地主机之间双向运行 iperf3 测试,以对您的 VPN 连接上的网络吞吐量进行基准测试。然后,在实例的两个公有 IP 地址之间运行这些测试,以对通过互联网的吞吐量进行基准测试。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?