grmg2010
Goto Top

Windows Server 2019 Datentransfer langsam

Moin,

ich habe einen HPe DL380P (Testserver) auf dem ein Windows Server 2019 als Hyper-V Host installiert ist. Ein Windows Server 2019 läuft darauf als VM. als Storage kommt ein Raid1 aus HDDs zum Einsatz sowie eine einzelne SAS SSD. Alle Laufwerke sind an einem HP H240 HBA angeschlossen. Als Netzwerkkarte ist eine HP FL530 SFP+ verbau. Da nur ein Netzwerkkabel angeschlossen ist, geht darüber sowohl der Traffic des Hosts als auch des Guests.

Die VM soll ein Fileserver werden, der Dateien per SMB bereitstellen soll. Als Datenfestplatte ist die SSD durchgereicht.
Alle beide Server sind auf dem aktuellen Patch-Stand.

Mein Problem ist nun, dass der Datentransfer mit dem Fileserver sehr langsam ist (~17MB/s), erwarten würde ich ~100MB/s. Zudem dauert der Zugriff auf Ressourcen (z.B. Bilder) sehr lange. Das Kopiertempo innerhalb der VM ist im zu erwartenden Bereich. Um die Geschwindigkeit des Netzwerkes zu überprüfen, habe ich per iperf3 einen Test gemacht. Hier bekomme ich die erwarteten ~110MB/s (beide Richtungen), daher würde ich die Netzwerkverbindung erstmal ausschließen.

Testweise habe ich auf dem Hyper-V Host ebenfalls eine Freigabe erstellt. Dateien von dieser zu lesen läuft wie erwartet, die Reaktionszeiten und Transfergeschwindigkeiten liegen in einem erwarteten Rahmen. (~110MB/s, kurze Reaktionszeiten beim durchsehen der Bilder).

Auf anderen Servern, die ebenfalls in einer ähnlichen Konstellation aufgebaut sind, habe ich diese Problematik nicht.

Was könnte ich noch überprüfen, um in der VM (nahezu) die gleiche Performance wie auf dem Baremetal-Host zu erreichen?

Mit freundlichen Grüßen

Content-Key: 5112026456

Url: https://administrator.de/contentid/5112026456

Printed on: April 27, 2024 at 13:04 o'clock

Member: aqui
aqui Dec 27, 2022 at 21:50:33 (UTC)
Goto Top
Hast du Jumbo Framing an NIC und Switch aktiviert?
Ansonsten findest du HIER ggf. ein paar hilfreiche Links.
Member: maretz
maretz Dec 28, 2022 at 07:45:17 (UTC)
Goto Top
Wieviel RAM u. CPU hast du der Kiste denn überhaupt zugewiesen? Wenn du dem Ding grad mal 1 GB RAM und 100 MHz CPU zugewiesen hast mag das ja passieren... Wäre somit interessant was du überhaupt eingestellt hast.
Member: grmg2010
grmg2010 Dec 28, 2022 at 08:42:56 (UTC)
Goto Top
Guten Morgen,

ja Jumbo Frames sind aktiviert, sowohl in der VM als auch dem Host und Switch. Das Problem tritt allerdings auch auf, wenn nur eine GBit-Verbindung genutzt wird.

4vCPUs und aktuell 8GB RAM sind zugewiesen. Im Taskmanager ist der RAM kaum gefüllt noch gibt es nennenswerte CPU-Aktivität wenn auf die Freigabe zugegriffen wird.
Member: maretz
maretz Dec 28, 2022 at 08:57:50 (UTC)
Goto Top
und was hat dein SERVER als ressourcen? Es wäre schön wenn man nicht jeden kram aus der Nase ziehen muss - und den DL380 gibt es ja in div. Konfigs... Wenn der Host nur 8 GB zB. hat aber du schon 8 GB ans Gast-OS gibst ist da irgendwas doof ;)
Member: MysticFoxDE
MysticFoxDE Dec 28, 2022 at 09:00:17 (UTC)
Goto Top
Moin @grmg2010,

Was könnte ich noch überprüfen, um in der VM (nahezu) die gleiche Performance wie auf dem Baremetal-Host zu erreichen?

bevor das jetzt wieder zum nächsten "Microsoft give me the performance back" Roman mutiert, mache ich dir einen Vorschlag.

Wir machen eine Teamviewer Session, Kontaktdaten kommen per PN.
Ich helfe dir dabei deinen Hyper-V und die entsprechenden VM's zu optimieren und du postest die Lösung dann hier online, damit auch die Nachwelt was davon hat.

Gruss Alex
Member: grmg2010
grmg2010 Dec 28, 2022 at 11:07:43 (UTC)
Goto Top
Zitat von @maretz:

und was hat dein SERVER als ressourcen? Es wäre schön wenn man nicht jeden kram aus der Nase ziehen muss - und den DL380 gibt es ja in div. Konfigs... Wenn der Host nur 8 GB zB. hat aber du schon 8 GB ans Gast-OS gibst ist da irgendwas doof ;)

CPU: 1x Intel Xeon E5-2680 (8Cores/16Threads) @ 2.70GHz
RAM: 48GB DDR3 ECC-RAM
Storage: 2 x ST4000NM005A im RAID1, 1 x Toshiba PX05SVB096Y (SAS-SSD)
Netzwerkadapter: HP Ethernet 10Gb 2-port 530 FLR-SFP+

Es läuft nur die bisher beschriebene VM mit 4vCPUs und 8GB RAM, auf dem Host ist nur die Hyper-V Rolle installiert. Wie bereits beschrieben, habe ich testweise eine SMB-Freigabe auf diesem erstellt, um den Vergleich zwischen Host und VM zu bekommen.
Member: MysticFoxDE
MysticFoxDE Dec 28, 2022 at 14:34:36 (UTC)
Goto Top
Moin @grmg2010,

Es läuft nur die bisher beschriebene VM mit 4vCPUs und 8GB RAM, auf dem Host ist nur die Hyper-V Rolle installiert. Wie bereits beschrieben, habe ich testweise eine SMB-Freigabe auf diesem erstellt, um den Vergleich zwischen Host und VM zu bekommen.

dein Problem hat weder was mit vCores zu tun noch was mit vRAM und auch die Jumboframes werden dir nicht helfen. Wahrscheinlich ist das SDN auf dementsprechenden Node schlichtweg falsch initialisiert und deswegen hast du auch keine Performance.

Poste mal die Ausgabe von ...

Get-VMSwitch | FL


Beste Grüsse aus BaWü
Alex
Member: Avoton
Avoton Dec 28, 2022 at 16:29:02 (UTC)
Goto Top
Moin,

Das Problem hatten wir 1:1 genau so.
Probiere Mal bitte folgendes (in der Reihenfolge und nach jedem Schritt die Performance prüfen, sobald die passt die weiteren Schritte nicht mehr abarbeiten):
1.: RSC (Receive Segment Coalescing) IPv4 und IPv6 auf der Hyper V Netzwerkkarte des Hosts deaktivieren
2.: LSO (Large Send Offload) V2 IPv4 und IPv6 am Host UND in der VM in den Einstellungen der Netzwerkkarte deaktivieren
3.: VMQ (Virtual Machine Queuing) in der Einstellungen der VM unter Netzwerkkarte -> Hardwarebeschleunigung deaktivieren

Allgemeiner Tipp: Energiesparpläne des Hosts und der VM auf Hochleistung setzen.

Viel Erfolg,
Avoton
Member: MysticFoxDE
MysticFoxDE Dec 28, 2022 updated at 16:36:33 (UTC)
Goto Top
Moin Avoton,

1.: RSC (Receive Segment Coalescing) IPv4 und IPv6 auf der Hyper V Netzwerkkarte des Hosts deaktivieren

👍👍👍, RSC nix gut, das sollte auf jeden Fall deaktiviert werden, auch auf dem vSwitch.

2.: LSO (Large Send Offload) V2 IPv4 und IPv6 am Host UND in der VM in den Einstellungen der Netzwerkkarte deaktivieren

LSO zu deaktivieren ist wiederum nicht ganz so gut. LSO selbst bringt keine Nachtteile, im Gegenteil,
solange diesem nichts anderes, wie z.B. falsch konfiguriertes RSS, in die Suppe spukt, bringt es eigentlich nur Vorteile.

3.: VMQ (Virtual Machine Queuing) in der Einstellungen der VM unter Netzwerkkarte -> Hardwarebeschleunigung deaktivieren

Aber auch nur in der VM und nicht auf der physikalischen NIC die als Uplink für den vSwitch fungiert, sonst wird das SDN nicht korrekt initialisiert.

Allgemeiner Tipp: Energiesparpläne des Hosts und der VM auf Hochleistung setzen.

👍👍👍

Beste Grüsse aus BaWü

Alex
Member: grmg2010
grmg2010 Dec 28, 2022 at 18:08:53 (UTC)
Goto Top
Moin Alex,

hier die Ausgabe des oben genannten Befehl
Name                                             : 10GBit
Id                                               : c7443868-f7d8-4b70-82d3-c10520c87d3f
Notes                                            : 
Extensions                                       : {Microsoft Windows-Filterplattform, Microsoft-NDIS-Aufzeichnung}
BandwidthReservationMode                         : None
PacketDirectEnabled                              : False
EmbeddedTeamingEnabled                           : False
IovEnabled                                       : True
SwitchType                                       : External
AllowManagementOS                                : True
NetAdapterInterfaceDescription                   : HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter  #2
NetAdapterInterfaceDescriptions                  : {HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter  #2}
NetAdapterInterfaceGuid                          : {de4a4a01-21b2-431c-b55f-08cb654795a5}
IovSupport                                       : True
IovSupportReasons                                : 
AvailableIPSecSA                                 : 0
NumberIPSecSAAllocated                           : 0
AvailableVMQueues                                : 29
NumberVmqAllocated                               : 2
IovQueuePairCount                                : 101
IovQueuePairsInUse                               : 3
IovVirtualFunctionCount                          : 64
IovVirtualFunctionsInUse                         : 0
PacketDirectInUse                                : False
DefaultQueueVrssEnabledRequested                 : True
DefaultQueueVrssEnabled                          : True
DefaultQueueVmmqEnabledRequested                 : True
DefaultQueueVmmqEnabled                          : False
DefaultQueueVrssMaxQueuePairsRequested           : 16
DefaultQueueVrssMaxQueuePairs                    : 8
DefaultQueueVrssMinQueuePairsRequested           : 1
DefaultQueueVrssMinQueuePairs                    : 1
DefaultQueueVrssQueueSchedulingModeRequested     : StaticVrss
DefaultQueueVrssQueueSchedulingMode              : StaticVrss
DefaultQueueVrssExcludePrimaryProcessorRequested : False
DefaultQueueVrssExcludePrimaryProcessor          : False
SoftwareRscEnabled                               : True
BandwidthPercentage                              : 0
DefaultFlowMinimumBandwidthAbsolute              : 0
DefaultFlowMinimumBandwidthWeight                : 0
CimSession                                       : CimSession: .
ComputerName                                     : HPEDL380P
IsDeleted                                        : False
DefaultQueueVmmqQueuePairs                       : 8
DefaultQueueVmmqQueuePairsRequested              : 16

Die Ausgabe ist ohne die oben genannten Verbesserungen.
Member: MysticFoxDE
MysticFoxDE Dec 28, 2022 at 18:21:32 (UTC)
Goto Top
Moin @grmg2010,

hier die Ausgabe des oben genannten Befehl
Name                                             : 10GBit
Id                                               : c7443868-f7d8-4b70-82d3-c10520c87d3f
Notes                                            : 
Extensions                                       : {Microsoft Windows-Filterplattform, Microsoft-NDIS-Aufzeichnung}
BandwidthReservationMode                         : None
PacketDirectEnabled                              : False
EmbeddedTeamingEnabled                           : False
IovEnabled                                       : True
SwitchType                                       : External
AllowManagementOS                                : True
NetAdapterInterfaceDescription                   : HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter  #2
NetAdapterInterfaceDescriptions                  : {HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter  #2}
NetAdapterInterfaceGuid                          : {de4a4a01-21b2-431c-b55f-08cb654795a5}
IovSupport                                       : True
IovSupportReasons                                : 
AvailableIPSecSA                                 : 0
NumberIPSecSAAllocated                           : 0
AvailableVMQueues                                : 29
NumberVmqAllocated                               : 2
IovQueuePairCount                                : 101
IovQueuePairsInUse                               : 3
IovVirtualFunctionCount                          : 64
IovVirtualFunctionsInUse                         : 0
PacketDirectInUse                                : False
DefaultQueueVrssEnabledRequested                 : True
DefaultQueueVrssEnabled                          : True
DefaultQueueVmmqEnabledRequested                 : True
DefaultQueueVmmqEnabled                          : False
DefaultQueueVrssMaxQueuePairsRequested           : 16
DefaultQueueVrssMaxQueuePairs                    : 8
DefaultQueueVrssMinQueuePairsRequested           : 1
DefaultQueueVrssMinQueuePairs                    : 1
DefaultQueueVrssQueueSchedulingModeRequested     : StaticVrss
DefaultQueueVrssQueueSchedulingMode              : StaticVrss
DefaultQueueVrssExcludePrimaryProcessorRequested : False
DefaultQueueVrssExcludePrimaryProcessor          : False
SoftwareRscEnabled                               : True
BandwidthPercentage                              : 0
DefaultFlowMinimumBandwidthAbsolute              : 0
DefaultFlowMinimumBandwidthWeight                : 0
CimSession                                       : CimSession: .
ComputerName                                     : HPEDL380P
IsDeleted                                        : False
DefaultQueueVmmqQueuePairs                       : 8
DefaultQueueVmmqQueuePairsRequested              : 16

Die Ausgabe ist ohne die oben genannten Verbesserungen.

ich bin gerade im Stress, daher folgend nur eine Kurzanalyse.

😯 ... 😬 ... 😵‍💫 ... @microsoft -->🙈😡🤬 ... 😭

Aber keine Sorge, ist alles reparierbar. 😉
Später oder morgen kann ich eventuell auch etwas detaillierter antworten.

Beste Grüsse aus BaWü
Alex
Member: grmg2010
grmg2010 Dec 29, 2022 at 19:56:43 (UTC)
Goto Top
Moin Alex,

das Abschalten von RSC hat eine deutliche Verbesserung gebracht. Die Performance ist wie erwartet.
Aber natürlich kann es sein, dass es weiteres Verbesserungspotential gibt. Falls du die Zeit finden solltest es noch etwas zu erläutern wäre es schön und würde vermutlich nicht nur mich weiterbringen.

Viele Grüße
Member: Avoton
Avoton Dec 29, 2022 at 21:13:33 (UTC)
Goto Top
Hast du auch Mal LSO und VMQ deaktiviert, wie ich geschrieben habe?
Member: IT-Spezi
IT-Spezi Dec 30, 2022 at 00:07:57 (UTC)
Goto Top
Moin,

@Avoton hatte meiner Meinung nach hier den richtigen Ansatz.
@MysticFoxDE hat ihn gut aufgegriffen und vertieft.

Mein Senf dazu aus meinen Know-How-Unterlagen:

Microsoft hat einen Artikel zur Leistungsoptimierung für Netzwerkadapter unter Windows Server 2016
und Windows Server 2019 herausgegeben:
https://docs.microsoft.com/de-de/windows-server/networking/technologies/ ...

Geschwindigkeitsprobleme: Besonders häufig konnte man dies feststellen, wenn der Fileserver virtualisiert ist (Hyper-V, ab Server 2016).
Deaktiviert man die Auslagerungsfunktionen der Netzwerkkarte übernimmt die Server CPU (höhere
Auslastung) diese Funktionen.

Gerätemanager - unter Netzwerkadapter die entsprechende Netzwerkkarte anwählen, rechte Maustaste –
Eigenschaften – Reiter Erweitert - folgende Einträge auf "Deaktiviert" setzen:
- Large-Send-Offload V2 (IPv4)
- Large-Send-Offload V2 (IPv6)

Sollte der Fileserver virtualisiert sein, muss man die Auslagerungsfunktionen zusätzlich in der virtuellen
Maschine deaktivieren:

Gerätemanager - unter Netzwerkadapter die entsprechende virtuelle Netzwerkkarte anwählen (Hyper-V
Virtual Ethernet Adapter), rechte Maustaste – Eigenschaften – Reiter Erweitert - folgende Einträge auf
"Deaktiviert" setzen:
- Large Send Offload Version 2 (IPv4)
- Large Send Offload Version 2 (IPv6)
- Recv Segment Coalescing (IPv4)
- Recv Segment Coalescing (IPv6)

Außerdem:
Microsoft hat einen Artikel zur Leistungsoptimierung bei der Verwendung von vSwitch für Windows
Server 2019 herausgegeben:
https://docs.microsoft.com/de-de/windows-server/networking/technologies/ ...

Es geht dabei um die Konfiguration von RSC (Receive Segment Coalescing) im vSwitch. Die Größe der
verarbeiteten Datensegmente hat Einfluss auf die CPU-Auslastung. RSC ist standardmäßig eingeschaltet.

Das Powershell-cmdlet Get-VMSwitch liefert alle virtuellen Switche des lokalen Hyper-V-Hosts (vSwitchName).

RSC auf dem Hyper-V-Host über die Powershell ausschalten:
Set-VMSwitch –Name vSwitchName –EnableSoftwareRsc $false

RSC auf dem Hyper-V-Host über die Powershell wieder einschalten:
Set-VMSwitch –Name vSwitchName –EnableSoftwareRsc $True

Hoffentlich hilft es.

Gruß

its
Member: MysticFoxDE
MysticFoxDE Dec 30, 2022 updated at 06:24:42 (UTC)
Goto Top
Moin @grmg2010,

das Abschalten von RSC hat eine deutliche Verbesserung gebracht.

das glaube ich dir sofort.
RSC ist in meinen Augen kein Feature sondern eher eine Missgeburt.
Nachdem ich schon vor Jahren beim MS-Support mit dem drecks RSC nicht weitergekommen bin, habe ich irgendwann mal Intel ins Boot geholt und die haben kurz darauf und ohne jegliches TamTam, bei so gut wie allen NIC's, den RSC Support aus den Treibern einfach rausgeschmissen.

Die Performance ist wie erwartet.

Sie könnte aber noch wesentlich besser sein.

Aber natürlich kann es sein, dass es weiteres Verbesserungspotential gibt. Falls du die Zeit finden solltest es noch etwas zu erläutern wäre es schön und würde vermutlich nicht nur mich weiterbringen.

Für den Zustand von deinem vSwitch gilt im Grunde dasselbe, was ich auch schon im folgenden Beitrag ...

Taugt Cache bei QNAP zu was?
Taugt Cache bei QNAP zu was?

zu @winacker geschrieben habe.

Um die Konfiguration deiner NIC's/SDN ordentlich zu optimieren, benötige ich noch viel mehr Informationen über dein System. Daher auch der Vorschlag mit Teamviewer, das würde die Sache um Welten beschleunigen.

Für lange Erklärungsromane habe ich die nächsten Tage leider keine Zeit, da ich wegen einem hinterwäldlerischem Verein, mal so kurz alles für den Jahresabschluss vorbereiten muss. 🤢🤮
Wenn ich damit fertig bin, dann gerne.

Beste Grüsse aus BaWü

Alex
Member: CloudIstSoToll
CloudIstSoToll Feb 17, 2024 at 11:17:04 (UTC)
Goto Top
Hi MysticFoxDE, bin gerade am optimieren W2019/2022 HV, VMs und W10 Clientumgebung und wühle mich durch die Möglichkeiten durch, am Ende des Tages kommt noch die SMB Optimierung obendrauf.

Du schreibst beim Server:

"LSO zu deaktivieren ist wiederum nicht ganz so gut. LSO selbst bringt keine Nachtteile, im Gegenteil,
solange diesem nichts anderes, wie z.B. falsch konfiguriertes RSS, in die Suppe spukt, bringt es eigentlich nur Vorteile"

Wie ist denn der aktuelle Stand, LSO anlassen beim HOST und auch den VMs?