延迟严重影响网络速度

网络工程 速度 潜伏 锦缎
2022-03-06 21:41:25

我正在解决一种情况,即与我们的网络连接具有高延迟连接的遥远位置的客户端正在经历严重不利的网络传输速度。

如果我从西雅图的设备到西雅图的速度测试服务器进行速度测试,性能几乎是全千兆:

[root@sharedsea1 ~]# speedtest -s 5904
   Speedtest by Ookla
     Server: Metapeer - Seattle, WA (id = 5904)
    Latency:     0.76 ms   (0.03 ms jitter)
   Download:   928.12 Mbps (data used: 419.7 MB)
     Upload:   925.95 Mbps (data used: 417.0 MB)
Packet Loss:     0.0%
[root@sharedsea1 ~]#

但是,如果我对香港进行相同的测试,则传输率下降的幅度超出您的预期:

[root@sharedsea1 ~]# speedtest -s 1536
   Speedtest by Ookla
     Server: STC - Hong Kong (id = 1536)
    Latency:   157.25 ms   (0.07 ms jitter)
   Download:   323.54 Mbps (data used: 451.4 MB)
     Upload:   269.72 Mbps (data used: 434.4 MB)
Packet Loss: Not available.
[root@sharedsea1 ~]#

如果我再次将测试运行到更远的位置(例如印度),传输速率就会变得很糟糕:

[root@sharedsea1 ~]# speedtest -s 18976
   Speedtest by Ookla
     Server: Airtel Broadband - Bangalore (id = 18976)
    Latency:   252.47 ms   (0.14 ms jitter)
   Download:    35.78 Mbps (data used: 48.6 MB)
     Upload:   217.25 Mbps (data used: 338.7 MB)
Packet Loss: Not available.
[root@sharedsea1 ~]#

我们与两个不同的上游运营商建立 BGP 对等体。我们尝试一次从每个运营商中分离出一个以单独测试速度。他们俩都出现了速度不佳的情况。两家 ISP 都向我提供了速度测试,显示距离我们的网络仅一跳的传输速率要好得多。例如:

Speedtest by Ookla
 Server: STC - Hong Kong (id = 1536)
Latency:   167.73 ms   (0.06 ms jitter)
Download: 941.36 Mbps (data used: 1.4 GB)
Upload: 366.29 Mbps (data used: 570.3 MB)
Packet Loss: Not available.

最后,我试图消除硬件作为可能的因素。我们的网络边缘有两台 Brocade 路由器,每台都与上游运营商建立 10G 连接。我从连接到其中一个边缘路由器的服务器上运行速度测试,并收到同样糟糕的性能。然后,我从连接到另一个边缘路由器的另一台服务器上运行了相同的速度测试——同样糟糕的结果。

我们的网络没有拥塞——网络边缘的 10G 端口的利用率接近 0.5%,而我们测试服务器上 1G 端口的利用率为 0%(即仅用于测试)。我们的网络和各种测试服务器之间也没有丢包。

有没有人知道什么可能导致高延迟连接的低速但对低延迟连接的速度没有影响?

1个回答

当 TCP 发送窗口没有扩展到“填充管道”所需的值时,高延迟会直接影响吞吐量:带宽 * RTT(延迟带宽积)。这很快就需要今天广泛支持的窗口缩放选项。

但是,高延迟(尤其是具有相当大的抖动)也可能是拥塞的迹象。如果路径上存在瓶颈,吞吐量显然会低于预期(例如,取决于一天中的时间)。

此外,拥塞会增加数据包丢失,触发 TCP 的拥塞检测并减小有效窗口大小。

实际上,除了寻找具有更好对等互连的更好运营商(甚至可能不存在)之外,您几乎无能为力。