
同じネットワーク内の Windows サーバー (qemu kvm) から新しい Linux サーバー (ベアメタル) に何かをアップロードすると、速度が非常に遅くなります (1GBit/s アップリンクで可能な速度の約 1/100)。ネットワーク内の他のすべてのマシン (他の Linux サーバーを含む) へのアップロードは、フルスピードで動作します。問題のある Linux サーバーへのアップロードがまだ実行されている間に、別のマシンへのそのようなアップロードを開始するとすぐに、両方のアップロードが高速になります (そのため、以前の低速アップロードはアップリンクの速度の約 50% に増加し、もう 1 つのアップロードも開始してその速度を維持します)。「他のアップロード」が終了すると、新しい問題のあるサーバーへの以前のアップロードは非常に遅い速度に低下します。
これはすべてのトラフィック (SSH、HTTP、SMB) に当てはまるようですが、ネットワーク内の他のマシンには問題はありません。そのため、ネットワーク内の他のすべてのマシンは問題なくフルスピードで新しいサーバーにアップロードします。Linux ベアメタル ホストにも問題はないようです。
両方のサーバーの間には 2 つの Netgear 1/10GBit/s スイッチがありますが、VLAN やその他の特別な構成はありません。一般的な KVM ホスト/ゲストの回避策 (tx/rx オフロード、lso、別の仮想アダプターなど) をいくつか試しましたが、まったく変化はありませんでした。ソース、ターゲット、ホストの tcpdumps を見ても、異常と思われるものは見つかりませんでした。したがって、パッケージの損失や、私が特定できるその他の問題はありません (ただし、私はこの分野の専門家ではありません)。
それで、何よりもまず、私はそのようなものを見たことがないので、私の主な質問は、ここで私が見ているのはどのような問題なのかということです。
答え1
私の最初の推測は、Windows VM とベアメタル Linux ボックス間のイーサネット自動ネゴシエーションに問題があり、Windows VM の「ポート」が 100M や 1G ではなく 10M などの低いレベルにネゴシエートされるというものです。Windows VM が別のサーバーにアップロードする場合、自動ネゴシエーションの問題は発生せず (または、他のサーバーへの接続がアクティブである限り無視され)、ポートは 1G を使用します。