为什么 VPS 上的出站带宽比同一主机的反向入站带宽小得多?

为什么 VPS 上的出站带宽比同一主机的反向入站带宽小得多?

我在欧洲有一台使用 VirtIO 以太网设备的 FreeBSD 10.1 VPS,从同一台远程主机上看,出站带宽明显小于入站带宽。这个问题最初是由于我们的 nginx Web 服务器下载速度慢而引起的。

同一主机的出站带宽始终是入站带宽的一小部分,但出站带宽本身却跨越了相当大的范围。因此,我发现网络配置或主机物理连接没有明显问题,尽管我尝试更改各种 net.inet.* 参数,但没有任何有意义的效果。

我意识到网络路径可能会产生一些影响,但所看到的差异似乎不符合这一解释。还请注意,pf 防火墙不会对出站流量进行任何类型的限制。

以下链接是 tcptraces 的 pastebin,其中收集了 iperf3 测试的 tcpdump 数据,这些测试针对三台主机(不同地理区域)作为客户端和服务器。tcpdump 设置为捕获 8192 个数据包;iperf 命令为 iperf3 -c host -V -n 10M -p 520X,然后是 iperf3 -c host -V -n 10M -p 520X -R

请注意,对于所示的最后一对跟踪,由于可用的吞吐量显著提高,-n 参数增加到了 75M。

我查看了这些痕迹,除了我的主机(XYZ)有一个小的初始窗口之外,没有发现任何奇怪的东西(对我来说)。

tcptrace 的 Pastbin

答案1

尽管没有明显的原因/解决方案,我可以将其标记为已关闭并已解决(目前)。

托管服务提供商建议我从 virtio 驱动程序更改为 e1000。在准备执行此操作的过程中,VPS 被停止(从控制台)然后重新启动。虽然仍在使用 virtio 驱动程序,但带宽现在好得多,而且是对称的。

该服务器已运行约300天。

相关内容