
Ein häufiges Problem bei Terminalservern, auf denen mehrere Benutzer gehostet werden, besteht darin, dass ein einzelner Benutzer einen ressourcenintensiven Prozess starten kann, der sich negativ auf die Leistung der Sitzungen anderer Benutzer auswirkt. Wenn beispielsweise ein Benutzer einen Prozess startet, der mehr als 90 % der CPU des Hosts beansprucht, können die anderen Benutzer nicht normal arbeiten.
Um solche Situationen zu verhindern, unterstützt Windows Server mit der Rolle „Remote Desktop Services“ (RDSH) sowie Windows 10/11 Enterprise Multisession die Funktion „Dynamic Fair Share Scheduling“ (DFSS). DFSS verteilt die verfügbaren Rechenressourcen des Servers dynamisch gerecht auf die Benutzersitzungen und stellt so sicher, dass keine einzelne Sitzung CPU-, Festplatten- oder Netzwerkressourcen monopolisieren kann, wodurch eine ausgewogene Leistung für alle Benutzer gewährleistet wird. DFSS kann die Nutzung der folgenden Host-Computing-Ressourcen verwalten:
-
CPU Fair Share – wird verwendet, um die verfügbare CPU-Zeit dynamisch zwischen Sitzungen zu verteilen (unter Berücksichtigung sowohl der Anzahl aktiver Sitzungen als auch der CPU-Zeitnutzung jeder Sitzung). Dies verhindert Situationen, in denen ein einzelner Benutzer die CPU auf einem RDS-Host monopolisiert, indem er einen umfangreichen Prozess ausführt.
-
Disk Fair Share – ermöglicht die Verteilung der verfügbaren Speicherbandbreite für I/O-Vorgänge unter den Benutzern.
-
Network Fair Share – ermöglicht die Verteilung der verfügbaren Netzwerkschnittstellenbandbreite zwischen Sitzungen mithilfe eines Round-Robin-Mechanismus.
Das DFFS kontrolliert nicht die RAM-Verteilung und wird nicht für die Speicherzuweisung zwischen Benutzersitzungen verwendet.
DFSS wurde erstmals in Windows Server 2008 R2 eingeführt, als es zunächst nur für die Planung von CPU-Ressourcen verfügbar war. Ab Windows Server 2012 wurde Fair Share Scheduling über die CPU hinaus um dynamischen Netzwerkdurchsatz und Festplatten-E/A-Balancing erweitert

Die Fair Share-Funktion ist auf Windows Server 2016 und späteren Versionen aktiviert, wenn die Rolle „Remotedesktop-Sitzungshost“ (RDSH) installiert ist. Der faire Lastausgleich in Remotedesktopdiensten wird standardmäßig nur auf CPU-Ressourcen angewendet. Die Funktion „CPU Fair Share“ verteilt die verfügbare CPU-Zeit dynamisch gleichmäßig auf die Benutzersitzungen. Wenn ein Benutzer zu viele CPU-Zyklen verbraucht, reduziert DFSS automatisch die diesem Benutzer zugewiesenen CPU-Ressourcen und gibt so Rechenleistung für andere Benutzer frei.
Führen Sie den PowerShell-Befehl aus, um zu überprüfen, ob DFSS aktiviert ist:
(gwmi win32\_terminalservicesetting-N "root\cimv2\terminalservices").enabledfss

„1“ – DFSS aktiviert
0 – Deaktiviert
Eine separate Gruppenrichtlinienoption namens „Fair Share CPU Scheduling deaktivieren“ ist verfügbar, um die faire Zuweisung von CPU-Ressourcen auf dem RDS-Host zu aktivieren oder zu deaktivieren (Computerkonfiguration-> Administrative Vorlagen-> Windows-Komponenten-> Remotedesktopdienste-> Remotedesktop-Sitzungshost-> Verbindungen) 
Standardmäßig ist in den Multisitzungsversionen von Windows Server RDS und Windows Enterprise die CPU-Fair-Share-Funktion aktiviert, während Dynamic Disk Fair Share und Dynamic Network Fair Share deaktiviert sind, sofern sie nicht manuell von einem Administrator aktiviert werden. Überprüfen Sie den Wert des Registrierungsparameters EnableCpuQuota, um ihn zu bestätigen:
Get-Itemproperty-Path „HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Quota System\“-name EnableCpuQuota

Und der Parameterwert „EnableFairShare“ ist 0 (deaktiviert) für die Festplatte und das Netzwerk (es gibt keinen separaten GPO-Parameter für sie):
` Get-ItemProperty-Path „HKLM:\SYSTEM\CurrentControlSet\Services\TSFairShare\Disk\“-name EnableFairShare
Get-ItemProperty-Path “HKLM:\SYSTEM\CurrentControlSet\Services\TSFairShare\NetFS"-name EnableFairShare `

Get the value of all three options:
Get-WmiObject-Class win32\_terminalservicesetting-Namespace root\cimv2\terminalservices | FL EnableDFSS,EnableDiskFSS,EnableNetworkFSS

Sie können Fairy Sharing für das Netzwerk und die Festplatte nur über die Registrierung aktivieren, indem Sie den Wert des Schlüssels „EnableFairShare“ auf 1 ändern. Sie können Fairy Sharing für das Netzwerk und die Festplatte nur über die Registrierung aktivieren, indem Sie den Wert des Schlüssels „EnableFairShare“ auf 1 ändern.
Or use the following PowerShell command:
Enable Fair Share CPU Scheduling:
` $temp=(gwmi win32_terminalservicesetting-N “root\cimv2\terminalservices”)
$temp.enableDFSS=1
$temp.put() `
Enable Dynamic Disk Fair Share:
` $temp=(gwmi win32_terminalservicesetting-N “root\cimv2\terminalservices”)
$temp.enableDiskFSS=1
$temp.put() `
Enable Network Fair Share:
` $temp=(gwmi win32_terminalservicesetting-N “root\cimv2\terminalservices”)
$temp.enableNetworkFSS=1
$temp.put() `
Um jede DFSS-Funktion zu deaktivieren, ändern Sie ihren Wert entsprechend auf 0.
In bestimmten Situationen wird empfohlen, Dynamic Fair Share Scheduling zu deaktivieren, wenn es die Leistung von Benutzer-Apps auf einem RDS-Host erheblich beeinträchtigt. Während DFSS dazu beiträgt, eine gerechte Verteilung von Ressourcen wie CPU, Festplatte und Netzwerkbandbreite unter den Benutzern sicherzustellen, kann es bei einigen Arbeitslasten zu einer Drosselung kommen, was zu einer verminderten App-Leistung führt.
*️⃣ Quelllink:
Windows 10/11 Enterprise Multisession, die Rolle Remotedesktop-Sitzungshost (RDSH) ist installiert,