非常に単純な構成です。WindowsServer2012HyperVホスト、2つのVM(両方ともServer 2012)、1つはIIS用、もう1つはSQLServer用です。それらはすべて物理NICを介して接続しています
昨夜、仮想スイッチを追加し、(物理NICに加えて)2つのVMに仮想NICをセットアップしてみました。
まだ仮想NICを実際に使用するためにサーバーを切り替えていませんでしたが、何らかの理由で、仮想NICが使用されていなくても、2つのVM間の接続速度が破壊されました。リクエストごとに200〜500ミリ秒から30〜90秒まで話しています!
それで、今朝、それが私のサイトに与えるひどい影響を見た後、私は2つの仮想NICを無効にしました。それが私が変更したすべてであり、確かに速度が戻ってきたからです。
最終的には、v-NICの使用に切り替える必要がありますが、最初にこの問題を回避する必要があります。
何が原因でしょうか?そして、それをトラブルシューティングするために何ができますか?
追加の詳細:
セットアップは実際には非常に単純です(これは私の問題の一部である可能性があり、このセットアップを行うために必要なものを単純化しすぎている可能性があります)。
単一の(物理)NICを備えた単一のサーバーがあります。現在、このNICは、v-Hostとインターネット間、および2つのVMとインターネット間の通信に使用されます。また、2つのVM間の内部通信にも使用されます。
ただし、vNICを介して仮想スイッチを通過するように内部通信を切り替えようとしています。これにより、物理的なNICは、外部通信にのみ使用できるようになります。
そこで、v-Hostに内部仮想スイッチを追加してから、各VMに仮想NICを追加しました。
これを行った後、接続速度(物理的なNIC)を超える)が大幅に低下しました。(VMのネットワーク構成を介して)vNICを無効にすると、速度が通常に戻りました。
以下は、外部物理VMおよび内部vNICのNIC構成(両方とも同じように構成されているため、1つのVMのみ))の画面です。
別の詳細
この問題についてもう少し掘り下げてみると、BroadcomNICはパフォーマンスの問題で悪名高いようです。このサーバーには、デュアルBroadcom BCM5716CNICがあります。既知の問題についての議論へのリンクは次のとおりです。
仮想マシン内の遅いネットワークアクセス-BroadcomおよびHyper-V
Hyper-V仮想マシンの非常に遅いネットワーク– VMQ – Broadcom
そこで、さまざまな設定を1つずつ無効にして、設定を試してみました。どの変更も問題に影響を与えていないようです。ゲストvNICを有効にすると、ロード速度が25秒以上に低下します。もう一度無効にすると、250msに戻ります-100倍!
Broadcomから最新のドライバーをインストールしてみましたが、違いはありません。
この時点で、Broadcom NICとHyper-Vの間の互換性の問題だと思います。しかし、新しいNICを注文して、サイトをシャットダウンするという問題を経験したくありません。問題が解決しない場合にのみ、それらをインストールして構成します。
したがって、NICを明確に除外または除外できれば素晴らしいと思います。
物理NICスイッチマネージャーの構成
スイッチマネージャーの仮想スイッチ構成
物理NIC DB VMでの構成
仮想NIC DB VMでの構成
私は非常によく似た設定をしています。ここで答えを見つけました( Hyper-Vへのファイル転送が非常に遅いVMローカルマシン上 )
Broadcomチップセットを使用して、仮想キューを無効にすると、すべての遅延がなくなりました。この変更は、仮想NICではなく物理NICで行います。
AFAIKは、Hyper-Vでの物理NICパススルーなどはありません。「物理NIC」という名前のvSwitchを作成しました。これは、物理アダプターにマップされ、管理OSの使用を有効にします。 VM、このスイッチを使用するvNicがあります。なぜ1つのvswitchから別のvswitchに切り替えたいのですか?「新しい」ものが何にも接続されていないことを除けば、私は本当に意味がわかりません。
Hyper-Vは、トラフィックがホストからルーティングされたときにのみ、vswitchから物理NICにトラフィックを送信するのに十分なほどスマートです。つまり、達成しようとしていることをすでに実行しているということです。