我在将较大的文件从我们的虚拟服务器之一传输到我们的办公室网络时遇到了麻烦。虚拟服务器充当 VPN 服务器,因此我们称之为“VPN”,但 VPN 的使用在这里不是问题,我使用直接连接进行文件传输。如果这有任何问题,该机器使用 Ubuntu 12.04.5 LTS。
现在,VPN 服务器的上传速度约为 71.20 Mbit/s,而我们办公室网络的互联网网关(称为 alix,运行在 Debian 6 上)的下载速度默认可以达到约 ~86.31 Mbit/s(这是一条 100 Mbit 线路)。我使用speedtest-cli
speedtest.net 服务器多次测试了这些速度。ping 约为 35-44 毫秒。
当我使用时,iperf
我的传输速率在 20.7 Mbit/s 和 35.7 Mbit/s 之间。多个连接使iperf
可用带宽达到最大值。因此问题可能是 TCP 窗口大小(如上所示其他主题),默认情况下线路上的流量并不大。我使用了窗口大小计算器,现在知道我需要大约 400KB 的窗口大小。因此,我更改了两端的相应设置(net.core.rmem 和 wmem、net.ipv4.tcp_rmem 和 wmem),但情况变得更糟(约 4 到 9Mbit/s)。我们没有遇到任何丢包或其他问题。两台机器都启用了 TCP 窗口缩放。两端都没有防火墙限制。
我该怎么做才能进一步缩小原因范围甚至提高吞吐量?谢谢你的帮助。