サーバー2019で大きなパフォーマンスの問題が発生しています。サーバー2016と比較して、読み取りと書き込みのパフォーマンスは非常に低くなっています。お客様のサイトに多数のサーバーをインストールして古いサーバーを置き換えましたが、サーバーからのファイルを開くのが遅いとすべてのお客様から不満がありました。
オフィスにテストサーバーを設置し、読み取りと書き込みの速度を測定したところ、2019年と2016年の間に大きな違いが見つかりました。
2016年と2019年をインストールしましたVM 2019ホストにHyper Vを使用し、LAN速度テストを使用してVMとホストへの読み取り/書き込み速度を測定しました
サーバーは、8x 15Kディスクを備えたDell PowerEdgeで、Intelクアッドポートネットワークカードを使用してRAID 10が構成されています。
2016 VM読み取り/書き込み速度は、書き込み600 Mbps、読み取り780 Mbpsです。
2019 VM読み取り/書き込み速度は、書き込み220 Mbps、読み取り115 Mbpsです。
両方のVMは同じ仮想スイッチを使用し、まったく同じように構成され、同じ仮想ディスク上にあります。唯一の違いは、両方のVMに完全にパッチが適用されているオペレーティングシステムです。
これをお客様のサイトのさまざまな仕様のサーバーでテストしましたが、どこでも同じ結果が得られました。2019年は2016年よりもはるかに遅いです。
すべてのBIOSおよびドライバは、Dellから入手可能な最新のものです。
これは1つのサーバーに分離されていません。いくつかのサーバーで発生しており、一部のサーバーは古いSBS 2011サーバーに置き換わっていますが、古いSBSボックスよりも動作が遅くなっています。他の誰かがこの問題を発見しましたか?
これは、Receive Segment Coalescing(RSC)が原因で発生する可能性があります。つまり、RSCはTCPセグメント集約を組み合わせたセグメント集約であり、効率を上げるために複数の小さいセグメントに対して複数の小さいセグメントを処理します。これは、Windows Server 2019のデフォルトの構成変更として導入され、ソースとなっています。他の環境でのあなたと同様の問題の。
PowerShellを使用して、クライアントのRSC for IPv4トラフィックを無効にできます: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が安心を見つける可能性が高いです。 ここ および ここ の参考資料を提供しました。
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
WAN
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のように動作するように再構成されます。