我们的基础设施分布在世界各地的几个主要地点——新加坡、伦敦和洛杉矶。任意两个位置之间的 RTT 超过 150 毫秒。
我们最近升级了所有服务器以使用 1Gbps 链接(从 100Mbps)。我们一直在不同位置的服务器之间运行一些基于 TCP 的测试,并看到了一些令人惊讶的结果。这些结果是完全可重复的。
似乎每当发送方以 1Gbps 的速度运行时,我们的吞吐量在长链接上都会受到很大影响。
之前的测试方法非常简单 - 我只是使用 cURL 从目标服务器下载一个 1GB 的二进制文件(因此在上述情况下,cURL 客户端在伦敦服务器上运行并从 LA 下载,因此 LA 是发送方) . 这当然是使用单个 TCP 连接。
使用 iperf 在 UDP 上重复相同的测试,问题就消失了!