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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 5112026456
Url: https://administrator.de/contentid/5112026456
Ausgedruckt am: 21.11.2024 um 21:11 Uhr
16 Kommentare
Neuester Kommentar
Hast du Jumbo Framing an NIC und Switch aktiviert?
Ansonsten findest du HIER ggf. ein paar hilfreiche Links.
Ansonsten findest du HIER ggf. ein paar hilfreiche Links.
Moin @grmg2010,
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
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
Moin @grmg2010,
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 ...
Beste Grüsse aus BaWü
Alex
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
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
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
Moin Avoton,
👍👍👍, RSC nix gut, das sollte auf jeden Fall deaktiviert werden, auch auf dem vSwitch.
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.
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.
👍👍👍
Beste Grüsse aus BaWü
Alex
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
Moin @grmg2010,
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
hier die Ausgabe des oben genannten Befehl
Die Ausgabe ist ohne die oben genannten Verbesserungen.
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
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
@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
Moin @grmg2010,
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.
Sie könnte aber noch wesentlich besser sein.
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
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
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?
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?