
Server 2019 で大きなパフォーマンスの問題が発生しています。読み取りと書き込みのパフォーマンスは、Server 2016 と比較して非常に劣っています。古いサーバーを置き換えるために、顧客サイトに複数のサーバーをインストールしましたが、すべての顧客から、サーバーからファイルを開くのが遅いという苦情が寄せられています。
私たちはオフィスにテストサーバーを設置し、読み取り速度と書き込み速度を測定したところ、2019 年と 2016 年の間に大きな違いがあることがわかりました。
Hyper Vを使用して2016年と2019年のVMを2019年のホストにインストールし、LAN速度テストを使用してVMとホストへの読み取り/書き込み速度を測定しました。
サーバーは、Intel クアッド ポート ネットワーク カードを使用して RAID 10 が構成された 8x 15K ディスクを搭載した Dell PowerEdge です。
2016 VM の読み取り/書き込み速度は、書き込みが 600 Mbps、読み取りが 780 Mbps です。
2019 VM の読み取り/書き込み速度は、書き込み 220 Mbps、読み取り 115 Mbps です。
両方の VM は同じ仮想スイッチを使用しており、まったく同じように構成され、同じ仮想ディスク上に存在します。唯一の違いは、両方の VM で完全にパッチが適用されているオペレーティング システムです。
現在、顧客サイトのさまざまな仕様のサーバーでこれをテストしており、どこでも同じ結果が出ています。2019 年は 2016 年よりもはるかに遅いです。
すべての BIOS とドライバーは Dell から入手できる最新のものです。
これは 1 台のサーバーに限定されたものではなく、複数のサーバーで発生しています。その一部は古い SBS 2011 サーバーを置き換えたものですが、古い SBS ボックスよりも動作が遅くなっています。この問題に気付いた方は他にいますか?
答え1
これは、受信セグメント結合 (RSC) が原因である可能性があります。簡単に言うと、RSC は TCP セグメント集約であり、効率性を高めるために、複数の小さなセグメントではなく、大きなセグメントを処理するためにセグメントを結合します。これは、Windows Server 2019 の既定の構成変更として導入され、他の環境でお客様と同様の問題の原因となっています。
PowerShell を使用して、IPv4 トラフィックに対してクライアントの RSC を無効にすることができます
Disable-NetAdapterRsc -Name $nic -IPv4
。PowerShell を使用して、Hyper-V vSwitch の現在の RSC ステータスを確認できます
Get-VMSwitch -Name $vSwitch | Select *RSC*
。PowerShell を使用して、Hyper-V vSwitch の RSC を完全に無効にすることができます。
Set-VMSwitch -Name $vSwitch -EnableSoftwareRsc:$FALSE
これにより、既存の vSwitch 接続に影響はありません。
項目 2 と 3 では、Hyper-V PowerShell モジュールへのアクセスと適切な Hyper-V 管理権限が必要です。Hyper-V vSwitch 上の複数のマシンでこの現象が発生するとおっしゃったように、項目 3 で問題が解消される可能性があります。参考資料を用意しました。ここそしてここ。
答え2
これだけ時間が経ったのに Windows 2019 がまだ壊れているなんて信じられませんが、次の設定を調整して再テストしてみることをお勧めします。
無線LAN
Set-NetTCPSetting -SettingName "DatacenterCustom" -CongestionProvider DCTCP
Set-NetTCPSetting -SettingName "DatacenterCustom" -CwndRestart True
Set-NetTCPSetting -SettingName "DatacenterCustom" -ForceWS Disabled
Set-NetTCPSetting -SettingName "Datacenter" -CongestionProvider DCTCP
Set-NetTCPSetting -SettingName "Datacenter" -CwndRestart True
Set-NetTCPSetting -SettingName "Datacenter" -ForceWS Disabled
ワン
Set-NetTCPSetting -SettingName "InternetCustom" -CongestionProvider CTCP
Set-NetTCPSetting -SettingName "InternetCustom" -DelayedAckTimeoutMs 50
Set-NetTCPSetting -SettingName "InternetCustom" -ForceWS Disabled
Set-NetTCPSetting -SettingName "Internet" -CongestionProvider CTCP
Set-NetTCPSetting -SettingName "Internet" -DelayedAckTimeoutMs 50
Set-NetTCPSetting -SettingName "Internet" -ForceWS Disabled
これにより、2019 年の動作が 2016 年に少し似たものになるように再構成されます。
答え3
コメントするつもりでしたが、まだ評判がありません。
この問題は、Hyper-V ロールを持つホスト OS として Server 2019 を実行している新しい Dell T440 サーバーと、起動したテスト VM (Win10) で発生していました。
Win11 を実行している有線ラップトップ (Lenovo P52S) からテスト VM への LAN Speed Test Lite を使用した場合、書き込み速度は平均 500 Mbs でしたが、読み取り速度は 90 ~ 220 Mbs でした。常に 20 MB のファイルを使用しています。
ホスト自体については、LAN Speed Test Lite を使用すると、平均 500Mbs の書き込みと 500Mbs 以上の読み取りが見られるため、私のラップトップに問題はない (少なくとも私はそう思っていました)
仮想スイッチで RSC を無効にしましたが、改善は見られず、ホスト、VM、ラップトップを再起動した後でも、ラップトップと VM 間の読み取りパフォーマンスは依然として低いままでした。RSC を再度有効にしました。
今朝、古い MSI Win10 ラップトップを掘り出して試してみました。LAN Speed Test Lite は、最初の試行で 500Mbs 以上の書き込み、700Mbs 以上の読み取りを返しました。すごい! 私のマシンだったんですね。さらに数回テストを実行したところ、読み取りで 1600Mbs も出ました。その後、さらに 20 回連続でテストを実行したところ、20 回のテストのうち 4 回で、読み取り速度が書き込み速度より低かった (約半分) ことに気付きました。
次に、仮想スイッチで RSC を (再) 無効にして、さらに 20 回のテストを実行しました。20 回すべてで、一貫した読み取り > 書き込みの結果が返され、平均は読み取りで 700 ~ 800、書き込みで 450 ~ 600 でした。
仮想スイッチで RSC を再度有効にすると、今度は 20 回のテストのうち 5 回で読み取り速度が遅くなりました。私としては、読み取り速度が 1600 Mbs 以上で 220 Mbs と低いよりも、一貫した結果を得たいので、RSC はオフのままにします。
私の P52s ラップトップに戻ると、結果は依然として同じ悪いものですが、これは Intel NIC に関連しているようです。Realtek チップセットを搭載した USB-> ギガビット イーサネット アダプターを使用すると、速度の結果は MSI ラップトップで見られるものと一致します。私はこれを OP として言及しましたが、最初に行ったように RSC を無効にするとメリットはありません。
乾杯
マイク