Performanceprobleme Terminalserver Windows Server 2022
Hallo Community,
aktuell habe ich hier ein Problem.
Wir haben einen mit Hyper-V virtualisierten Terminalserver unter Windows Server 2022 (Host und VM).
Darauf greifen maximal 10 Benutzer gleichzeitig zu.
Nun ist es sporadisch so, dass die Benutzer sich über kurze Hänger/Ruckler beschweren.
Das ganze ist nicht auf die Auslastung der Hardware zurückzuführen, die VM hat momentan folgende Konfiguration:
- 24 vCPUs (AMD EPYC 73F3 @ 3,50 GHz)
- 128 GB RAM
- 1 TB SSD Storage (Raid 10 mit SAS SSDs)
- 10 Gbit/s Netzwerkanbindung
Auf den Server läuft nichts außergewöhnliches, M365 Business Premium mit Word, Excel, Outlook, Edge als Browser und einer Branchensoftware.
Benutzerprofile liegen auf einer separaten Daten Partition der VM (kein FSLogix oder Profile VHDs)
Folgendes habe ich bereits probiert:
- Hardwareressourcen erweitert (Anfangs lief die VM mit 8 vCPUs und 64 GB RAM)
- die RSC Geschichte auf der Netzwerkkarte deaktiviert, leider ohne Veränderung
- Hypervisor sowie VM laufen auf Höchstleistung in den Energieoptionen
- Virenschutz ist (noch) keiner installiert
Ich habe bereits recherchiert, unter anderen auch diesen Artikel gefunden: Terminalserver - Performanceprobleme auf neuer Hardware, leider scheint hier dass das Problem durch das Deaktivieren von RSC beseitigt worden ist, was hier leider nicht geholfen hat
Habt Ihr eine Idee an was es liegen könnte? Das Problem ist auch schonmal aufgetreten als nur zwei Personen angemeldet waren, dadurch kann man meiner Meinung nach, die Grafikleistung ausschließen? Was meint Ihr?
Falls Ihr weitere Infos benötigt, diese liefere ich gerne nach.
Bin über jeden Tipp/Antwort dankbar.
VG Nepomuk
aktuell habe ich hier ein Problem.
Wir haben einen mit Hyper-V virtualisierten Terminalserver unter Windows Server 2022 (Host und VM).
Darauf greifen maximal 10 Benutzer gleichzeitig zu.
Nun ist es sporadisch so, dass die Benutzer sich über kurze Hänger/Ruckler beschweren.
Das ganze ist nicht auf die Auslastung der Hardware zurückzuführen, die VM hat momentan folgende Konfiguration:
- 24 vCPUs (AMD EPYC 73F3 @ 3,50 GHz)
- 128 GB RAM
- 1 TB SSD Storage (Raid 10 mit SAS SSDs)
- 10 Gbit/s Netzwerkanbindung
Auf den Server läuft nichts außergewöhnliches, M365 Business Premium mit Word, Excel, Outlook, Edge als Browser und einer Branchensoftware.
Benutzerprofile liegen auf einer separaten Daten Partition der VM (kein FSLogix oder Profile VHDs)
Folgendes habe ich bereits probiert:
- Hardwareressourcen erweitert (Anfangs lief die VM mit 8 vCPUs und 64 GB RAM)
- die RSC Geschichte auf der Netzwerkkarte deaktiviert, leider ohne Veränderung
- Hypervisor sowie VM laufen auf Höchstleistung in den Energieoptionen
- Virenschutz ist (noch) keiner installiert
Ich habe bereits recherchiert, unter anderen auch diesen Artikel gefunden: Terminalserver - Performanceprobleme auf neuer Hardware, leider scheint hier dass das Problem durch das Deaktivieren von RSC beseitigt worden ist, was hier leider nicht geholfen hat
Habt Ihr eine Idee an was es liegen könnte? Das Problem ist auch schonmal aufgetreten als nur zwei Personen angemeldet waren, dadurch kann man meiner Meinung nach, die Grafikleistung ausschließen? Was meint Ihr?
Falls Ihr weitere Infos benötigt, diese liefere ich gerne nach.
Bin über jeden Tipp/Antwort dankbar.
VG Nepomuk
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 670885
Url: https://administrator.de/forum/performanceprobleme-terminalserver-windows-server-2022-670885.html
Ausgedruckt am: 28.02.2025 um 04:02 Uhr
26 Kommentare
Neuester Kommentar
Moin,
stelle den RDP-Zugriff von UDP (Standard) auf TCP only um. Entweder per Gruppenrichtlinie hostseitig oder bei den Clients clientseitig oder in der Windows Firewall des Hosts die UDP Regel deaktivieren. Und sieh zu, dass auf den Server baldmöglichst ein AV Programm kommt!
Ich rechne bei Standardinstallationen bei den Ressourcen mit 1 vCPU und 6 GB RAM pro User, allerdings versuche ich maximal die "echten" Cores zu zuweisen, also in deinem Fall maximal 16 vCPUs und bei höherem Bedarf sollte ein 2. Server (kann sogar aufs gleiche Blech) in Betracht gezogen werden. Wie kommst du bei einem AMD EPYC 73F3 auf 24 vCPUs? Laut AMD hat der 16C/32T oder verwechsle ich hier ertwas?
https://www.amd.com/de/products/processors/server/epyc/7003-series/amd-e ...
MfG
stelle den RDP-Zugriff von UDP (Standard) auf TCP only um. Entweder per Gruppenrichtlinie hostseitig oder bei den Clients clientseitig oder in der Windows Firewall des Hosts die UDP Regel deaktivieren. Und sieh zu, dass auf den Server baldmöglichst ein AV Programm kommt!
Ich rechne bei Standardinstallationen bei den Ressourcen mit 1 vCPU und 6 GB RAM pro User, allerdings versuche ich maximal die "echten" Cores zu zuweisen, also in deinem Fall maximal 16 vCPUs und bei höherem Bedarf sollte ein 2. Server (kann sogar aufs gleiche Blech) in Betracht gezogen werden. Wie kommst du bei einem AMD EPYC 73F3 auf 24 vCPUs? Laut AMD hat der 16C/32T oder verwechsle ich hier ertwas?
https://www.amd.com/de/products/processors/server/epyc/7003-series/amd-e ...
MfG
Zitat von @nepomuk00:
Habe gerade eben nochmal nachgeschaut, die RDP Sitzungen laufen schon über TCP, das ist im Ressourcenmonitor unter "TCP-Verbindungen" ersichtlich.
Das ist gutHabe gerade eben nochmal nachgeschaut, die RDP Sitzungen laufen schon über TCP, das ist im Ressourcenmonitor unter "TCP-Verbindungen" ersichtlich.
Zitat von @nepomuk00:
Was mir hier aufgefallen ist dass die Prozesse (svchost.exe termsvcs) bei der Latenz in ms ziemlich stark schwanken, normalerweise im 1 ms Bereich, aber auf einmal springt ein Client auch gut und gerne mal auf 40 ms siehe Screenshot. Evtl. muss ich doch noch mal bei der Netzwerkkarte schauen, nicht dass hier doch noch irgendwo dieser RSC Murks werkelt.
Interessante Beobachtung. Auf unserem internen Host sehe ich maximal ~27 ms. Wir virtualisieren allerings auf einem ESXi mit einem Windows Server 2019. RSC bzw. LRO usw habe ich sowohl auf dem Host als auch in der VM deaktiviert (heißt in Windows "Large Send Offload"), auch im Software-Stack des OS. Wichtig, dass es an allen Stellen deaktiviert wird.Was mir hier aufgefallen ist dass die Prozesse (svchost.exe termsvcs) bei der Latenz in ms ziemlich stark schwanken, normalerweise im 1 ms Bereich, aber auf einmal springt ein Client auch gut und gerne mal auf 40 ms siehe Screenshot. Evtl. muss ich doch noch mal bei der Netzwerkkarte schauen, nicht dass hier doch noch irgendwo dieser RSC Murks werkelt.
Was sagt denn
Get-NetOffloadGlobalSetting
Hast du aufgrund der 10G Thematik irgendwo einen MTU missmatch oder ist das alles Standard 1500?
Wie greifen die User auf den TS zu? Lokal oder via VPN? Treten die Probleme in beiden Fällen auf?
Wie äußern sich die "Hänger"? Werden Eingaben wirklich "verschluckt" oder werden alle Eingaben ausgeführt und nur ruckelartig korrekt "nachgeholt"? Läuft auf dem Ding TEAMS?
MfG
Moin @nepomuk00,
ist bei ab Server 2019 leider nichts ungewöhnliches, weil die Defaulteinstellungen an diversesten ecken schlichtweg für die Katz sind. 😔
Sieht soweit ganz gut aus.
Welche NIC(s) stecken den genau in diesem Server?
Mehr als 8vCPU's und 64GB RAM, benötigt man für 10 User normalerweise auch nicht wirklich.
Die TS unserer Kunden, müssen mit diesen Ressourcen meist um die 25 User je SH händeln.
Nix nur Netzwerkkarte, du musst das auch insbesondere auf den vSwitchen auch deaktivieren.
Hast du auch schon das BIOS auf Hochleistung getrimmt?
Aber sicher und zwar der Defender, der übrigens auch gerne solche Probleme verursacht.
Mit ...
... kann man diesen bei den Server zumindest, relativ schnell deinstallieren, danach ist jedoch ein Reboot nötig.
Ja und nicht nur eine. 🙃
Das hat nichts mit der GPU zu tun, sondern meiner Kristallkugel nach eher mit den NIC's, dem RAM oder dem Defender. 😉
Kann es sein, dass das Problem ein paar Tage lang nicht auftritt, wenn die entsprechende VM neu gebootet wurde?
Schalte mal auf allen vNIC's VMQ aus, welches per Default leider immer aktiv ist.
Das kann solche Probleme auch verursachen, da viele und vor allem => 10G NIC's für VMQ oder SR-IOV oder RDMA, per Default nicht wirklich richtig konfiguriert sind. 😔
Gruss Alex
Nun ist es sporadisch so, dass die Benutzer sich über kurze Hänger/Ruckler beschweren.
ist bei ab Server 2019 leider nichts ungewöhnliches, weil die Defaulteinstellungen an diversesten ecken schlichtweg für die Katz sind. 😔
Das ganze ist nicht auf die Auslastung der Hardware zurückzuführen, die VM hat momentan folgende Konfiguration:
- 24 vCPUs (AMD EPYC 73F3 @ 3,50 GHz)
- 128 GB RAM
- 1 TB SSD Storage (Raid 10 mit SAS SSDs)
- 10 Gbit/s Netzwerkanbindung
- 24 vCPUs (AMD EPYC 73F3 @ 3,50 GHz)
- 128 GB RAM
- 1 TB SSD Storage (Raid 10 mit SAS SSDs)
- 10 Gbit/s Netzwerkanbindung
Sieht soweit ganz gut aus.
Welche NIC(s) stecken den genau in diesem Server?
Folgendes habe ich bereits probiert:
- Hardwareressourcen erweitert (Anfangs lief die VM mit 8 vCPUs und 64 GB RAM)
- Hardwareressourcen erweitert (Anfangs lief die VM mit 8 vCPUs und 64 GB RAM)
Mehr als 8vCPU's und 64GB RAM, benötigt man für 10 User normalerweise auch nicht wirklich.
Die TS unserer Kunden, müssen mit diesen Ressourcen meist um die 25 User je SH händeln.
- die RSC Geschichte auf der Netzwerkkarte deaktiviert, leider ohne Veränderung
Nix nur Netzwerkkarte, du musst das auch insbesondere auf den vSwitchen auch deaktivieren.
Get-VMSwitch | Set-VMSwitch -EnableSoftwareRsc $false
- Hypervisor sowie VM laufen auf Höchstleistung in den Energieoptionen
Hast du auch schon das BIOS auf Hochleistung getrimmt?
- Virenschutz ist (noch) keiner installiert
Aber sicher und zwar der Defender, der übrigens auch gerne solche Probleme verursacht.
Mit ...
Remove-WindowsFeature -Name Windows-Defender
... kann man diesen bei den Server zumindest, relativ schnell deinstallieren, danach ist jedoch ein Reboot nötig.
Habt Ihr eine Idee an was es liegen könnte?
Ja und nicht nur eine. 🙃
Das Problem ist auch schonmal aufgetreten als nur zwei Personen angemeldet waren, dadurch kann man meiner Meinung nach, die Grafikleistung ausschließen? Was meint Ihr?
Das hat nichts mit der GPU zu tun, sondern meiner Kristallkugel nach eher mit den NIC's, dem RAM oder dem Defender. 😉
Kann es sein, dass das Problem ein paar Tage lang nicht auftritt, wenn die entsprechende VM neu gebootet wurde?
Bin über jeden Tipp/Antwort dankbar.
Schalte mal auf allen vNIC's VMQ aus, welches per Default leider immer aktiv ist.
Get-VM | Get-VMNetworkAdapter | Set-VMNetworkAdapter -VmqWeight 0
Das kann solche Probleme auch verursachen, da viele und vor allem => 10G NIC's für VMQ oder SR-IOV oder RDMA, per Default nicht wirklich richtig konfiguriert sind. 😔
Gruss Alex
Moin @nepomuk00,
oh, eine X710, sehr gut, denn die bereiten beim Hyper-V die wenigsten Probleme.
Hast du auf dieser auch die zu der jetzt verwendeten Treiberversion passende NVM Version installiert?
abgeschaltet
OK, dann ist das schon mal abgehakt.
Hier konnte ich auf Anhieb nichts finden, allerdings habe ich hier nicht sehr lange geschaut.
Welches Board steckt denn in den Servern, resperktive was sind das genau für Gerättle?
Das ist durchaus möglich, die Beschwerden kommen "sporadisch"
Bitte genauer beobachten, diese Info wäre schon sehr wichtig.
Wenn das Problem erst nach ein paar Tagen auftritt, dann hat es nichts mit den NIC's sondern eher etwas mit der RAM belegung zu tun. 😉
Ich habe VMQ bereits in den Hyper-V VM Einstellungen unter Netzwerkkarte --> Hardwarebeschleunigung --> "Warteschlange für virtuelle Computer aktivieren" deaktiviert, entspricht das dem gleichen wie der Powershell Befehl?
Jup, der Befehl macht dasselbe.
Gruss Alex
eine Intel X710 SFP+
oh, eine X710, sehr gut, denn die bereiten beim Hyper-V die wenigsten Probleme.
Hast du auf dieser auch die zu der jetzt verwendeten Treiberversion passende NVM Version installiert?
Nix nur Netzwerkkarte, du musst das auch insbesondere auf den vSwitchen auch deaktivieren.
Ja ich habe das mit den Befehl Get-VMSwitch | Set-VMSwitch -EnableSoftwareRsc $false
Set-VMSwitch -Name v-switch1 -EnableSoftwareRsc $false
OK, dann ist das schon mal abgehakt.
Hast du auch schon das BIOS auf Hochleistung getrimmt?
Hier konnte ich auf Anhieb nichts finden, allerdings habe ich hier nicht sehr lange geschaut.
Welches Board steckt denn in den Servern, resperktive was sind das genau für Gerättle?
Kann es sein, dass das Problem ein paar Tage lang nicht auftritt, wenn die entsprechende VM neu gebootet wurde?
Das ist durchaus möglich, die Beschwerden kommen "sporadisch"
Bitte genauer beobachten, diese Info wäre schon sehr wichtig.
Wenn das Problem erst nach ein paar Tagen auftritt, dann hat es nichts mit den NIC's sondern eher etwas mit der RAM belegung zu tun. 😉
Schalte mal auf allen vNIC's VMQ aus, welches per Default leider immer aktiv ist.
Get-VM | Get-VMNetworkAdapter | Set-VMNetworkAdapter -VmqWeight 0
Ich habe VMQ bereits in den Hyper-V VM Einstellungen unter Netzwerkkarte --> Hardwarebeschleunigung --> "Warteschlange für virtuelle Computer aktivieren" deaktiviert, entspricht das dem gleichen wie der Powershell Befehl?
Jup, der Befehl macht dasselbe.
Gruss Alex
Moin @nepomuk00,
kannst du mal bitte das Folgende auf dem HV Node ausführen und die Ausgabe hier posten, danke.
Gruss Alex
kannst du mal bitte das Folgende auf dem HV Node ausführen und die Ausgabe hier posten, danke.
Get-VMSwitch -Name v-switch1 | Select *
Gruss Alex
Moin @nepomuk00,
ähm, ja, wie schreibe ich das jetzt nur. 🤔
Also ja, im Ressourcenmonitor steht zwar etwas von "TCP-Verbindungen" was jedem normaldenkenden Menschen auch suggeriert, dass hier nur TCP-Verbindungen angezeigt werden, aber, diese Microsoftians sind mittlerweile nix wirklich normaldenkend, daher werden beim Ressourcenmonitor unter "TCP-Verbindungen" nicht nur TCP sondern auch UDP Verbindungen angezeigt. 🙃
Wenn du wirklich wissen möchtest ob die Verbindung über TCP oder UDP läuft, dann solltest du es eher mit …
… versuchen. 😉
Ähm, ja, diese Murks kommt nicht vom RSC sondern eher vom „Delayed ACK“ und zwar in dem Fall Clientseitig.
Solltest du testweise mal auf dem Server und auch den Clients deaktivieren, was jedoch insbesondere auf den Clients, nicht wirklich ganz einfach ist. 😔🤮
Ich muss mit meinem 21 Jahre altem Kater jetzt aber dringend zum Tierarzt flitzen, daher kann ich dir was das angeht, zumindest jetzt kurzfristig nicht weiterhelfen.
Wenn alles gut geht, dann kann ich heute Nachmittag, diesbezüglich noch ein paar Zeilen mehr schreiben.
Gruss Alex
Habe gerade eben nochmal nachgeschaut, die RDP Sitzungen laufen schon über TCP, das ist im Ressourcenmonitor unter "TCP-Verbindungen" ersichtlich.
ähm, ja, wie schreibe ich das jetzt nur. 🤔
Also ja, im Ressourcenmonitor steht zwar etwas von "TCP-Verbindungen" was jedem normaldenkenden Menschen auch suggeriert, dass hier nur TCP-Verbindungen angezeigt werden, aber, diese Microsoftians sind mittlerweile nix wirklich normaldenkend, daher werden beim Ressourcenmonitor unter "TCP-Verbindungen" nicht nur TCP sondern auch UDP Verbindungen angezeigt. 🙃
Wenn du wirklich wissen möchtest ob die Verbindung über TCP oder UDP läuft, dann solltest du es eher mit …
netstat -an
… versuchen. 😉
Was mir hier aufgefallen ist dass die Prozesse (svchost.exe termsvcs) bei der Latenz in ms ziemlich stark schwanken, normalerweise im 1 ms Bereich, aber auf einmal springt ein Client auch gut und gerne mal auf 40 ms siehe Screenshot. Evtl. muss ich doch noch mal bei der Netzwerkkarte schauen, nicht dass hier doch noch irgendwo dieser RSC Murks werkelt.
Ähm, ja, diese Murks kommt nicht vom RSC sondern eher vom „Delayed ACK“ und zwar in dem Fall Clientseitig.
Solltest du testweise mal auf dem Server und auch den Clients deaktivieren, was jedoch insbesondere auf den Clients, nicht wirklich ganz einfach ist. 😔🤮
Ich muss mit meinem 21 Jahre altem Kater jetzt aber dringend zum Tierarzt flitzen, daher kann ich dir was das angeht, zumindest jetzt kurzfristig nicht weiterhelfen.
Wenn alles gut geht, dann kann ich heute Nachmittag, diesbezüglich noch ein paar Zeilen mehr schreiben.
Gruss Alex
Moin @nepomuk00,
na ja, Treiber von 2019, passen nicht wirklich gut zu einem Server 2022. 🙃
Bitte die neusten Treiber und auch NVM Versionen verwenden.
Dasselbe gilt auch für die Chipset-Treiber & Co.
Für die NIC benötigst du somit ...
https://www.intel.de/content/www/de/de/download/18190/non-volatile-memor ...
+
https://www.intel.de/content/www/de/de/download/706171/intel-network-ada ...
Finde lieber heraus welches Board in dem Server genau verbaut ist und schau dann bei S. ... ähm ja, das kürzen ich jetzt lieber doch nicht so ab, also bei Supermicro direkt nach, welche aktuellen BIOS und Treiberstände die für das entsprechende Board anbieten.
Gruss Alex
Ich denke tatsächlich nicht, dass diese aktuell ist, das Ganze hat folgenden Hintergrund:
Der Server ist von Thomas Krenn, Treiber/Firmware werden hier für das individuelle System zur Verfügung gestellt, allerdings nur die Treiberversionen, welche von Thomas-Krenn auch getestet wurden mit den Betriebssystem. Das heißt hier kann es manchmal ewig dauern, bis neue Treiber zur Verfügung gestellt werden.
Der Treiber von der Netzwerkkarte ist von 2019, NVM wird bei Thomas Krenn mit Version 8.50 angeboten, ebenfalls von 2019
Der Server ist von Thomas Krenn, Treiber/Firmware werden hier für das individuelle System zur Verfügung gestellt, allerdings nur die Treiberversionen, welche von Thomas-Krenn auch getestet wurden mit den Betriebssystem. Das heißt hier kann es manchmal ewig dauern, bis neue Treiber zur Verfügung gestellt werden.
Der Treiber von der Netzwerkkarte ist von 2019, NVM wird bei Thomas Krenn mit Version 8.50 angeboten, ebenfalls von 2019
na ja, Treiber von 2019, passen nicht wirklich gut zu einem Server 2022. 🙃
Ich habe gerade auf der Intel Downloadseite geschaut, hier gibt es bereits NVM Version 9.53. Treiber dann vermutlich dasselbe, sollte ich wahrscheinlich mal testen oder was meinst du?
Bitte die neusten Treiber und auch NVM Versionen verwenden.
Dasselbe gilt auch für die Chipset-Treiber & Co.
Für die NIC benötigst du somit ...
https://www.intel.de/content/www/de/de/download/18190/non-volatile-memor ...
+
https://www.intel.de/content/www/de/de/download/706171/intel-network-ada ...
Board ist von Supermicro, genaue Bezeichnung müsste ich nachliefern.
Hab nur bei TK im Downloadbereich gesehen, dass seit 2 Tagen ein neues BIOS Update verfügbar ist. Das muss ich dann auch mal installieren.
Hab nur bei TK im Downloadbereich gesehen, dass seit 2 Tagen ein neues BIOS Update verfügbar ist. Das muss ich dann auch mal installieren.
Finde lieber heraus welches Board in dem Server genau verbaut ist und schau dann bei S. ... ähm ja, das kürzen ich jetzt lieber doch nicht so ab, also bei Supermicro direkt nach, welche aktuellen BIOS und Treiberstände die für das entsprechende Board anbieten.
Gruss Alex
Moin @nepomuk00,
😧 ... ähm Moment, ich muss mal zuerst einen kräftigen Schluck nehmen, natürlich nur Kaffee, obwohl noch ein guter Schuss Whiskey, hier durchaus sehr angemessen wäre. 🙃
Wo fange ich jetzt nur an. 😬
Also …
… du hast ja geschrieben, …
… dass du bei allen VMs VMQ deaktiviert hast.
Laut deinem Screenshot, werden an diesem vSwitch jedoch 3 VMQueues dennoch von irgendeiner vNIC verwendet.
Mit dem folgenden Befehl …
… solltest du jedoch herausfinden können, bei welchen vNICs VMQ noch aktiviert ist. 😉
Ferner wurde dieser vSwitch eigentlich ohne SR-IOV Support erstellt, was man sehr gut an „IovEnabled: False“ erkennen kann. Dennoch werden bei dir von irgendwelchen vNICs, 20 IOVQueuePairs und zwar ohne jegliche IovVirtualFunctions benutzt. 😭🙈🤮 (Die gelten übrigens Microsoft)
Zudem werden bei „DefaultQueueVmmqQueuePairsRequested“ und „DefaultQueueVrssMaxQueuePairsRequested“ mit 16 QueuePairs per Default viel zu viele Ressourcen per Default reserviert, die so nur einen unnützen Overhead verursachen. 😔
Für einen 10G vSwitch reichen normalerweise schon 2-4 QueuePairs vollkommen aus.
Sprich, der vSwitch ist per Default leider für die Katz und sollte neu erstellt werden und zwar per Power-Shell und richtiger Parametrisierung.
Bevor man jedoch den vSwitch korrekt erstellt, sollte man im Vorfeld die Uplink-NIC(s) korrekt konfigurieren, vor allem RSS, VMQ und SR-IOV technisch.
Kannst du mal auf dem HV-Node die folgenden Befehle ausführen und die Ausgabe hier posten.
Aber bitte einen nach dem anderen Ausführen und nicht gleichzeitig abfeuern.
Gruss Alex
😧 ... ähm Moment, ich muss mal zuerst einen kräftigen Schluck nehmen, natürlich nur Kaffee, obwohl noch ein guter Schuss Whiskey, hier durchaus sehr angemessen wäre. 🙃
Wo fange ich jetzt nur an. 😬
Also …
… du hast ja geschrieben, …
Ich habe VMQ bereits in den Hyper-V VM Einstellungen unter Netzwerkkarte --> Hardwarebeschleunigung --> "Warteschlange für virtuelle Computer aktivieren" deaktiviert
… dass du bei allen VMs VMQ deaktiviert hast.
Laut deinem Screenshot, werden an diesem vSwitch jedoch 3 VMQueues dennoch von irgendeiner vNIC verwendet.
Mit dem folgenden Befehl …
Get-NetAdapterVMQQueue
… solltest du jedoch herausfinden können, bei welchen vNICs VMQ noch aktiviert ist. 😉
Ferner wurde dieser vSwitch eigentlich ohne SR-IOV Support erstellt, was man sehr gut an „IovEnabled: False“ erkennen kann. Dennoch werden bei dir von irgendwelchen vNICs, 20 IOVQueuePairs und zwar ohne jegliche IovVirtualFunctions benutzt. 😭🙈🤮 (Die gelten übrigens Microsoft)
Zudem werden bei „DefaultQueueVmmqQueuePairsRequested“ und „DefaultQueueVrssMaxQueuePairsRequested“ mit 16 QueuePairs per Default viel zu viele Ressourcen per Default reserviert, die so nur einen unnützen Overhead verursachen. 😔
Für einen 10G vSwitch reichen normalerweise schon 2-4 QueuePairs vollkommen aus.
Sprich, der vSwitch ist per Default leider für die Katz und sollte neu erstellt werden und zwar per Power-Shell und richtiger Parametrisierung.
Bevor man jedoch den vSwitch korrekt erstellt, sollte man im Vorfeld die Uplink-NIC(s) korrekt konfigurieren, vor allem RSS, VMQ und SR-IOV technisch.
Kannst du mal auf dem HV-Node die folgenden Befehle ausführen und die Ausgabe hier posten.
Aber bitte einen nach dem anderen Ausführen und nicht gleichzeitig abfeuern.
Get-NetAdapterRss
Get-NetAdapterRss | Select *
Get-NetAdapterSriov
Get-NetAdapterSriov | Select *
Get-NetAdapterVmq
Get-NetAdapterVmq | Select *
Gruss Alex
Moin @nepomuk00,
ähm ... ja ... ich sehe schon, das wird eine etwas längere Geschichte, weil so gut wie nirgends die Konfiguration korrekt ist. 😭
Mach dir deshalb jedoch keinen Vorwürfe, denn diesen Murks haben definitiv die Hersteller mit ihren absolut beschissener Default-Konfiguration zu verantworten. 😡
Also, das erste Problem um welches du dich als nächstes kümmern solltest ist das hier.
Laut dieser Anzeige, steht SR-IOV auf keinem der vier 10G NIC's hardwaretechnisch zur Verfügung. 😬
Das ist alles andere als gut, denn ohne vollständigen SR-IOV Support, funktioniert sowohl SR-IOV, als auch VMQ und VMMQ und VRSS und auch RDMA nicht wirklich. 😭
Ohne die oben genannten Features, kannst man die Performance einer >=10G NIC, vor allem bei einer virtualisierten Umgebung, jedoch nicht mal ansatzweise ausreizen. 😔
Es ist sogar das Gegenteil der Fall. Denn durch die komplett vermurkste Default-Konfiguration dieser 10G NIC's, laufen viele Anwendungen über diese viel langsamer, als über eine 0815 1G NIC.
Na ja wie auch immer, ich sehe aus dem oberen Screenshot, dass bei deinem System mindestens "Global SR-IOV" im BIOS des Mainboards nicht aktiviert ist.
Denn wäre dies korrekt aktiviert, dann müsste mindestens bei den X710er Ports „SriovSupport“ auf „Supported“ stehen, da man bei diesen NIC’s in deren NIC-BIOS nichts weiter für SR-IOV konfigurieren muss.
Die Supermicro 10GBASE-T NIC’s sind vermutlich Broadcom NIC’s.
Wenn ja, dann sieht die Sache bei diesen etwas anders als bei den X710, den bei den Broadcom NIC’s muss auch das NIC-BIOS korrekt eingestellt werden, damit über diese SR-IOV & Co, wenigstens halwegs korrekt funktioniert.
Welche Supermicro Kiste ist das denn genau?
Wenn ich die Info habe, dann kann ich mal im entsprechenden Handbuch nachschauen, was du im BIOS alles einstellen musst, damit als nächstes Global SR-IOV korrekt aktiviert ist.
Den Rest würde ich dann nach und nach durchgehen, sobald dieses Problem beseitigt ist.
Gruss Alex
ähm ... ja ... ich sehe schon, das wird eine etwas längere Geschichte, weil so gut wie nirgends die Konfiguration korrekt ist. 😭
Mach dir deshalb jedoch keinen Vorwürfe, denn diesen Murks haben definitiv die Hersteller mit ihren absolut beschissener Default-Konfiguration zu verantworten. 😡
Also, das erste Problem um welches du dich als nächstes kümmern solltest ist das hier.
Laut dieser Anzeige, steht SR-IOV auf keinem der vier 10G NIC's hardwaretechnisch zur Verfügung. 😬
Das ist alles andere als gut, denn ohne vollständigen SR-IOV Support, funktioniert sowohl SR-IOV, als auch VMQ und VMMQ und VRSS und auch RDMA nicht wirklich. 😭
Ohne die oben genannten Features, kannst man die Performance einer >=10G NIC, vor allem bei einer virtualisierten Umgebung, jedoch nicht mal ansatzweise ausreizen. 😔
Es ist sogar das Gegenteil der Fall. Denn durch die komplett vermurkste Default-Konfiguration dieser 10G NIC's, laufen viele Anwendungen über diese viel langsamer, als über eine 0815 1G NIC.
Na ja wie auch immer, ich sehe aus dem oberen Screenshot, dass bei deinem System mindestens "Global SR-IOV" im BIOS des Mainboards nicht aktiviert ist.
Denn wäre dies korrekt aktiviert, dann müsste mindestens bei den X710er Ports „SriovSupport“ auf „Supported“ stehen, da man bei diesen NIC’s in deren NIC-BIOS nichts weiter für SR-IOV konfigurieren muss.
Die Supermicro 10GBASE-T NIC’s sind vermutlich Broadcom NIC’s.
Wenn ja, dann sieht die Sache bei diesen etwas anders als bei den X710, den bei den Broadcom NIC’s muss auch das NIC-BIOS korrekt eingestellt werden, damit über diese SR-IOV & Co, wenigstens halwegs korrekt funktioniert.
Welche Supermicro Kiste ist das denn genau?
Wenn ich die Info habe, dann kann ich mal im entsprechenden Handbuch nachschauen, was du im BIOS alles einstellen musst, damit als nächstes Global SR-IOV korrekt aktiviert ist.
Den Rest würde ich dann nach und nach durchgehen, sobald dieses Problem beseitigt ist.
Gruss Alex
Moin @nepomuk00,
Das sieht doch schon mal um einiges besser aus. 😁
Wenn du nun auch noch verraten könntest was für ein System du genau hast und auch welche Eistellungen du auf diesem dazu im BIOS alles anpassen musstest, können andere leidende das auch etwas besser nachvollziehen. 😉
Nicht so schnell, wir sind leider noch so ziemlich am Anfang. 😬
Wie du siehst, reicht es bei diesen auch nicht wirklich nur das Global SR-IOV im Mainboard-BIOS zu aktivieren, bei diesen müssen auch noch diverse andere Einstellungen im NIC-Bios korrekt gesetzt werden, damit SR-IOV oder VMQ oder RDMA hardwareseitig überhaupt zur Verfügung steht. 😔😭
Na ja, ich bin jetzt nicht wirklich unglücklich darüber, dass ich das Kapitel mit dem NIC-Bios, bei dir jetzt überspringen kann. Ich muss die nächsten Wochen jedoch mal den schon vor längerem versprochenem Artikel dennoch verfassen, da es da draussen tausende von Systemen gibt, die nicht wirklich korrekt konfiguriert sind.
Und wie du vielleicht schon selber erkannt hast, ist alleine schon nur das herausfinden der entsprechenden Fehlkonfiguration, alles andere als einfach und auch extrem systemspezifisch. 😔
Gruss Alex
Habe eben mal den Server durchgestartet und SR-IOV im BIOS aktiviert. Die Ausgabe des Powershell Befehls meldet nun folgendes:
Das sieht doch schon mal um einiges besser aus. 😁
Wenn du nun auch noch verraten könntest was für ein System du genau hast und auch welche Eistellungen du auf diesem dazu im BIOS alles anpassen musstest, können andere leidende das auch etwas besser nachvollziehen. 😉
Sieht also schonmal besser aus als vorher, mal schauen ob das was bringt 🤔
Nicht so schnell, wir sind leider noch so ziemlich am Anfang. 😬
Die RJ45 Supermicro onboard NICs nutze ich sowieso nicht, also halb so wild 😉
Wie du siehst, reicht es bei diesen auch nicht wirklich nur das Global SR-IOV im Mainboard-BIOS zu aktivieren, bei diesen müssen auch noch diverse andere Einstellungen im NIC-Bios korrekt gesetzt werden, damit SR-IOV oder VMQ oder RDMA hardwareseitig überhaupt zur Verfügung steht. 😔😭
Na ja, ich bin jetzt nicht wirklich unglücklich darüber, dass ich das Kapitel mit dem NIC-Bios, bei dir jetzt überspringen kann. Ich muss die nächsten Wochen jedoch mal den schon vor längerem versprochenem Artikel dennoch verfassen, da es da draussen tausende von Systemen gibt, die nicht wirklich korrekt konfiguriert sind.
Und wie du vielleicht schon selber erkannt hast, ist alleine schon nur das herausfinden der entsprechenden Fehlkonfiguration, alles andere als einfach und auch extrem systemspezifisch. 😔
Gruss Alex
Moin @nepomuk00,
gut, nun zum nächsten Punkt.
gemäss den oberen Screenshots, steht bei der NIC mit dem Alias „Ethernet“, also einem der X710 Ports, kein MsiX zur Verfügung (MsiXEnabled:False) und bei dem anderen, also „Enternet 2“, ist MsiX wiederum verfügbar … 😖 … das sollte so aber nicht wirklich sein. 😔
Kannst du als nächstes bitte den folgenden Befehl ausführen und dessen Ausgabe hier zurückposten, danke.
Gruss Alex
Nachtrag:
Was ich auch noch etwas schräg finde ist, dass beim der „Ethernet“ NIC, also dem Port ohne MsiX, 32 "NumberOfInterruptMessages" und bei dem „Enternet 2“ Port, also dem Port mit MsiX, nur 8 "NumberOfInterruptMessages" zur Verfügung stehen ... 😖 ... WTF ... 😵💫.
gut, nun zum nächsten Punkt.
gemäss den oberen Screenshots, steht bei der NIC mit dem Alias „Ethernet“, also einem der X710 Ports, kein MsiX zur Verfügung (MsiXEnabled:False) und bei dem anderen, also „Enternet 2“, ist MsiX wiederum verfügbar … 😖 … das sollte so aber nicht wirklich sein. 😔
Kannst du als nächstes bitte den folgenden Befehl ausführen und dessen Ausgabe hier zurückposten, danke.
Get-NetAdapterHardwareInfo | Select *
Gruss Alex
Nachtrag:
Was ich auch noch etwas schräg finde ist, dass beim der „Ethernet“ NIC, also dem Port ohne MsiX, 32 "NumberOfInterruptMessages" und bei dem „Enternet 2“ Port, also dem Port mit MsiX, nur 8 "NumberOfInterruptMessages" zur Verfügung stehen ... 😖 ... WTF ... 😵💫.