当我将某个内容从 Windows 服务器 (qemu kvm) 上传到同一网络中的新 Linux 服务器 (裸机) 时,速度非常慢 (大约是 1GBit/s 上行链路可能速度的 1/100)。上传到网络中的所有其他计算机 (包括其他 Linux 服务器) 都以全速运行。而且,当我开始将此类上传到另一台计算机时,同时仍在上传到有问题的 Linux 服务器,两个上传都会变快 (因此,之前缓慢的上传速度增加到上行链路速度的约 50%,而另一个上传也开始并保持在该速度)。一旦“其他上传”完成,前一个上传到新的有问题的服务器的速度就会下降到非常慢。
所有流量(SSH、HTTP、SMB)似乎都是这种情况,但网络中的其他机器都没有问题。因此,网络中的所有其他机器都可以全速上传到新服务器,没有任何问题。甚至 Linux 裸机主机似乎也没有问题。
两台服务器之间有两个 Netgear 1/10GBit/s 交换机,但没有 VLAN 或任何其他特殊配置。我尝试了一些典型的 KVM 主机/客户机解决方法(tx/rx 卸载、lso、不同的虚拟适配器等),但没有任何变化。查看源、目标和主机上的 tcpdump,我也没有看到任何异常。因此,我没有发现任何数据包丢失或其他问题(尽管我不是这方面的专家)。
因此,现在在做任何其他事情之前,由于我从未见过这样的事情,我的主要问题是我在这里正在寻找什么样的问题?
答案1
我的第一个猜测是 Windows VM 和裸机 Linux 机之间的以太网自动协商存在问题,导致 Windows VM 的“端口”协商到某个较低的级别,例如 10M 而不是 100M 或 1G。当 Windows VM 上传到其他服务器时,自动协商问题不存在(或者说,只要与另一台服务器的连接处于活动状态,自动协商问题就会被否决),并且端口使用 1G。