Server 2019의 네트워크 성능이 매우 낮음

Server 2019의 네트워크 성능이 매우 낮음

Server 2019에서는 심각한 성능 문제가 있습니다. Server 2016에 비해 읽기 및 쓰기 성능이 매우 낮습니다. 기존 서버를 교체하기 위해 고객 사이트에 여러 대의 서버를 설치했는데 모든 고객이 서버에서 파일을 여는 속도가 느리다고 불평했습니다.

사무실에 테스트 서버를 설치하고 읽기 및 쓰기 속도를 측정한 결과 2019년과 2016년 사이에 큰 차이가 있음을 발견했습니다.

Hyper V를 사용하여 2019 호스트에 2016 및 2019 VM을 설치하고 Lan 속도 테스트를 사용하여 VM 및 호스트에 대한 읽기/쓰기 속도를 측정했습니다.

서버는 Intel 쿼드 포트 네트워크 카드를 사용하여 RAID 10으로 구성된 8x 15K 디스크를 갖춘 Dell PowerEdge입니다.

2016 VM의 읽기/쓰기 속도는 쓰기 600Mbps, 읽기 780Mbps입니다.

2019 VM의 읽기/쓰기 속도는 쓰기 220Mbps, 읽기 115Mbps입니다.

두 VM 모두 동일한 가상 스위치를 사용하고 정확히 동일하게 구성되었으며 동일한 가상 디스크에 있습니다. 유일한 차이점은 두 VM에 완전히 패치된 운영 체제입니다.

이제 고객 사이트의 다양한 서버 사양에서 이를 테스트한 결과 모든 곳에서 동일한 결과를 발견했습니다. 2019년은 2016년보다 훨씬 느립니다.

모든 BIOS 및 드라이버는 Dell에서 제공하는 최신 버전입니다.

이는 하나의 서버에만 국한된 것이 아니며 여러 서버에서 발생하며 그 중 일부는 기존 SBS 2011 서버를 대체했지만 기존 SBS 상자보다 느리게 실행됩니다. 다른 사람이 이 문제를 발견한 적이 있습니까?

답변1

RSC(Receive Segment Coalescing)로 인해 이 현상이 나타날 수 있습니다. 간단히 말해서 RSC는 효율성을 위해 여러 개의 작은 세그먼트를 처리하는 대신 더 큰 세그먼트를 처리하기 위해 세그먼트를 결합하는 TCP 세그먼트 집합입니다. 이는 Windows Server 2019의 기본 구성 변경으로 도입되었으며 다른 환경에서도 유사한 문제의 원인이 되었습니다.

  1. PowerShell을 사용하여 IPv4 트래픽에 대해 클라이언트의 RSC를 비활성화할 수 있습니다 Disable-NetAdapterRsc -Name $nic -IPv4.

  2. PowerShell을 사용하여 Hyper-V vSwitch의 현재 RSC 상태를 확인할 수 있습니다 Get-VMSwitch -Name $vSwitch | Select *RSC*.

  3. 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가 여전히 다소 손상되어 있다는 것을 믿을 수 없지만 다음 설정을 조정하고 다시 테스트해 보시기 바랍니다.

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)에서 이 문제가 발생했습니다.

내 유선 노트북(Lenovo P52S)에서 Win11을 실행하면 평균 500Mbs 쓰기가 표시되었지만 LAN Speed ​​Test Lite를 사용하면 테스트 VM에 90~220Mbs가 읽혔습니다. 항상 20Mb 파일을 사용합니다.

호스트 자체에서는 LAN Speed ​​Test Lite를 사용하여 평균 500Mbs 쓰기 및 500Mbs+ 읽기를 볼 수 있으므로 내 노트북에는 아무런 문제가 없습니다.

가상 스위치에서 RSC를 비활성화했지만 개선되지 않았습니다. HOST, 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개에서 읽기 속도가 느려졌습니다. 나에게는 1600Mbs+의 높은 읽기보다는 일관된 결과를 원하지만 220Mbs만큼 낮은 읽기는 RSC가 유지되는 것보다 낫습니다.

내 P52s 노트북으로 돌아가면 여전히 결과가 좋지 않지만 이는 Intel NIC와 관련된 것으로 보입니다. Realtek 칩셋과 함께 USB->기가비트 이더넷 어댑터를 사용할 때 속도 결과는 MSI 노트북에서 볼 수 있는 것과 같습니다. 나는 이것을 OP로 언급하므로 처음에 했던 것처럼 RSC가 비활성화된 경우에는 아무런 이점이 없습니다.

건배

마이크

관련 정보