Optimierung der Leistung für Remotedesktop-Sitzungshosts
In diesem Thema wird erläutert, wie Sie Hardware für Remotedesktop-Sitzungshost (RD-Sitzungshost) auswählen sowie den Host und Anwendungen optimieren.
In diesem Thema:
Auswählen der richtigen Hardware für die Leistung
Bei einer Serverbereitstellung des RD-Sitzungshosts wird die Auswahl der Hardware durch den Anwendungssatz und die Verwendungsweise durch Benutzer bestimmt. Die wichtigsten Faktoren, die sich auf die Anzahl der Benutzer und deren Erfahrung auswirken, sind CPU, Arbeitsspeicher, Datenträger und Grafik. Dieser Abschnitt enthält zusätzliche Richtlinien, die spezifisch für RD-Sitzungshostserver sind und sich hauptsächlich auf die Umgebung mit mehreren Benutzern von RD-Sitzungshostservern beziehen.
CPU-Konfiguration
Die CPU-Konfiguration wird konzeptionell bestimmt, indem die für die Unterstützung einer Sitzung erforderliche CPU mit der Anzahl von Sitzungen multipliziert wird, die das System voraussichtlich unterstützen soll, während eine Pufferzone aufrechterhalten wird, um temporäre Spitzen zu bewältigen. Mehrere logische Prozessoren können dazu beitragen, abnormale CPU-Überlastungssituationen zu verringern, die in der Regel von ein paar überaktiven Threads verursacht werden, die auf einer ähnlichen Anzahl logischer Prozessoren laufen.
Je mehr logische Prozessoren also in einem System vorhanden sind, desto geringer ist das Pufferpolster, das in die CPU-Auslastungsschätzung integriert werden muss, was zu einem höheren Prozentsatz der aktiven Auslastung pro CPU führt. Ein wichtiger zu berücksichtigender Faktor ist, dass sich durch die Verdoppelung der CPUs die CPU-Kapazität nicht verdoppelt.
Konfiguration des Arbeitsspeichers
Die Arbeitsspeicherkonfiguration hängt von den Anwendungen ab, die Benutzer verwenden. Die erforderliche Arbeitsspeichermenge kann jedoch mithilfe der folgenden Formel geschätzt werden: GesamtRAM = BS-RAM + SitzungsRAM * AS
BS-RAM gibt an, wie viel Arbeitsspeicher das Betriebssystem für seine Ausführung benötigt (z. B. Binärimages, Datenstrukturen usw.), SitzungsRAM gibt an, wie viele Arbeitsspeicherprozesse in einer Sitzung ausgeführt werden können müssen, und AS ist die Zielanzahl der aktiven Sitzungen. Die Menge des erforderlichen Arbeitsspeichers für eine Sitzung wird hauptsächlich durch den privaten Speicherverweissatz für Anwendungen und Systemprozesse bestimmt, die innerhalb der Sitzung ausgeführt werden. Freigegebene Code- oder Datenseiten haben wenig Auswirkungen, da nur eine Kopie im System vorhanden ist.
Eine interessante Beobachtung (vorausgesetzt, dass sich das Datenträgersystem, das die Auslagerungsdatei unterstützt, nicht ändert) ist, dass die Arbeitsspeicherzuordnung pro Sitzung größer sein muss, je größer die Anzahl gleichzeitiger aktiver Sitzungen ist, die das System unterstützen soll. Wenn die Menge an Arbeitsspeicher, die pro Sitzung zugewiesen wird, nicht erhöht wird, erhöht sich die Anzahl der Seitenfehler, die von aktiven Sitzungen generiert werden, mit der Anzahl der Sitzungen. Diese Fehler überlasten schließlich das E/A-Subsystem. Durch das Erhöhen des Arbeitsspeichers, der pro Sitzung zugewiesen wird, verringert sich die Wahrscheinlichkeit, Seitenfehler zu verursachen, was dazu beiträgt, die Gesamtrate von Seitenfehlern zu reduzieren.
Datenträgerkonfiguration
Speicher ist einer der am häufigsten übersehenen Aspekte beim Konfigurieren von RD-Sitzungshostservern und kann die häufigste Einschränkung bei Systemen darstellen, die im tatsächlichen Einsatz bereitgestellt werden.
Die Datenträgeraktivität, die auf einem typischen RD-Sitzungshostserver generiert wird, wirkt sich auf die folgenden Bereiche aus:
Systemdateien und Anwendungsbinärdateien
Auslagerungsdateien
Benutzerprofile und Benutzerdaten
Im Idealfall sollten diese Bereiche von unterschiedlichen Speichergeräte unterstützt werden. Die Verwendung von RAID-Stripeset-Konfigurationen oder anderen Arten von Hochleistungsspeicher verbessert die Leistung noch zusätzlich. Es wird dringend empfohlen, Speicheradapter mit mittels Akkus abgesicherter Schreibzwischenspeicherung zu verwenden. Controller mit Zwischenspeicherung von Datenträgerschreibvorgängen bieten verbesserte Unterstützung für synchrone Schreibvorgänge. Da alle Benutzer über eine separate Struktur verfügen, treten synchrone Schreibvorgänge auf einem RD-Sitzungshostserver deutlich häufiger auf. Registrierungsstrukturen werden regelmäßig mithilfe synchroner Schreibvorgänge auf Datenträgern gespeichert. Um diese Optimierungen zu aktivieren, öffnen Sie in der Datenträgerverwaltungskonsole das Dialogfeld Eigenschaften für den Zieldatenträger, und aktivieren Sie auf der Registerkarte Richtlinien die Kontrollkästchen Schreibcache auf dem Datenträger aktivieren und Von Windows veranlasstes Leeren des Geräteschreibcaches deaktivieren.
Netzwerkkonfiguration
Die Netzwerknutzung für einen RD-Sitzungshostserver umfasst zwei Hauptkategorien:
Die Datenverkehrsnutzung der RD-Sitzungshostverbindung wird fast ausschließlich durch die Zeichnungsmuster bestimmt, die die Anwendungen, die innerhalb der Sitzungen ausgeführt werden, zeigen, sowie von dem umgeleiteten E/A-Datenverkehr der Geräte.
Beispielsweise verbrauchen Anwendungen, die Textverarbeitung und Dateneingabe verarbeiten, eine Bandbreite von etwa 10 bis 100 Kilobit/s, während umfangreiche Grafik- und Videowiedergaben zu einer erheblichen Erhöhung der Bandbreitennutzung führen.
Back-End-Verbindungen wie Roamingprofile, Anwendungszugriff auf Dateifreigaben, Datenbankserver, E-Mail-Server und HTTP-Server.
Die Menge und das Profil des Netzwerkdatenverkehrs sind für jede Bereitstellung spezifisch.
Optimieren von Anwendungen für den Remotedesktop-Sitzungshost
Der größte Teil der CPU-Auslastung auf einem RD-Sitzungshostserver wird von Apps verursacht. Desktop-Apps sind in der Regel auf Reaktionsfähigkeit optimiert, mit dem Ziel, den Zeitraum zu minimieren, innerhalb dessen eine Anwendung auf eine Benutzeranfrage reagiert. In einer Serverumgebung ist es jedoch ebenso wichtig, die CPU-Gesamtauslastung zu minimieren, die zum Ausführen einer Aktion erforderlich ist, um negative Auswirkungen auf andere Sitzungen zu vermeiden.
Berücksichtigen Sie die folgenden Vorschläge, wenn Sie Apps konfigurieren, die auf einem RD-Sitzungshostserver verwendet werden sollen:
Minimieren der Verarbeitung von Leerlaufschleifen im Hintergrund
Typische Beispiele sind die Deaktivierung der Grammatik- und Rechtschreibprüfung im Hintergrund, der Datenindizierung für die Suche und des Speicherns im Hintergrund.
Minimieren Sie, wie oft eine App eine Zustandsprüfung oder -aktualisierung durchführt.
Das Deaktivieren solcher Verhaltensweisen oder das Erhöhen des Intervalls zwischen Abrufiterationen und Timerauslösungen kommt der CPU-Auslastung erheblich zugute, da sich die Auswirkungen solcher Aktivitäten für viele aktive Sitzungen schnell verstärken. Typische Beispiele sind Verbindungsstatussymbole und Aktualisierungen von Statusleisteninformationen.
Minimieren Ressourcenkonflikte zwischen Apps, indem Sie deren Synchronisierungshäufigkeit verringern.
Beispiele für solche Ressourcen sind unter anderem Registrierungsschlüssel und Konfigurationsdateien. Beispiele für Anwendungskomponenten und -features sind Statusindikatoren (z. B. Shellbenachrichtigungen), Hintergrundindizierung oder Änderungsüberwachung und Offlinesynchronisierung.
Deaktivieren Sie unnötige Prozesse, deren Start zusammen mit der Benutzeranmeldung oder einem Sitzungsstart registriert ist.
Diese Prozesse können erheblich zu den Kosten der CPU-Auslastung beitragen, wenn eine neue Benutzersitzung erstellt wird, was in der Regel ein CPU-intensiver Prozess ist, und der in Morgenszenarien sehr teuer sein kann. Verwenden Sie „MsConfig.exe“ oder „MsInfo32.exe“, um eine Liste der Prozesse abzurufen, die bei der Benutzeranmeldung gestartet werden. Ausführlichere Informationen finden Sie unter AutoAusführen (Autorun) für Windows.
Bei der Arbeitsspeicherauslastung sollten Sie Folgendes berücksichtigen:
Vergewissern Sie sich, dass von einer App geladene DLLs nicht verschoben werden.
Verschobene DLLs können mithilfe des Prozess-Explorers überprüft werden, indem Sie die Prozess-DLL-Ansicht auswählen, wie in der folgenden Abbildung gezeigt.
Hier sehen wir, dass „y.dll“ verschoben wurde, weil „x.dll“ bereits die Standardbasisadresse belegt hatte und ASLR nicht aktiviert war.
Wenn DLLs verschoben werden, ist es unmöglich, ihren Code sitzungsübergreifend zu teilen, was den Speicherbedarf einer Sitzung erheblich erhöht. Dies ist eins der häufigsten speicherbezogenen Leistungsprobleme auf einem RD-Sitzungshostserver.
Verwenden Sie für CLR-Anwendungen (Common Language Runtime) den Native Image Generator (Ngen.exe), um die Seitenfreigabe zu erhöhen und den CPU-Mehraufwand zu reduzieren.
Wenden Sie nach Möglichkeit ähnliche Methoden auf andere ähnliche Ausführungs-Engines an.
Optimierungsparameter für Remotedesktop-Sitzungshosts
Auslagerungsdatei
Eine unzureichende Größe der Auslagerungsdatei kann zu Speicherzuordnungsfehlern in Apps oder Systemkomponenten führen. Sie können den Leistungsindikator für zugesicherte Arbeitsspeicher-Bytes verwenden, um zu überwachen, wie viel zugesicherter virtueller Arbeitsspeicher auf dem System vorhanden ist.
Virenschutz
Die Installation von Antivirensoftware auf einem RD-Sitzungshostserver wirkt sich erheblich auf die Gesamtleistung des Systems aus, insbesondere auf die CPU-Auslastung. Es wird dringend empfohlen, alle Ordner mit temporären Dateien aus der aktiven Überwachungsliste auszuschließen, insbesondere diejenigen, die von Diensten und anderen Systemkomponenten generiert werden.
Aufgabenplanung
Mit dem Taskplaner können Sie die Liste der Aufgaben untersuchen, die für verschiedene Ereignisse geplant sind. Für einen RD-Sitzungshostserver ist es nützlich, sich speziell auf die Aufgaben zu konzentrieren, die für die Ausführung im Leerlauf, bei der Benutzeranmeldung oder bei der Verbindungsherstellung bzw. -trennung von Sitzungen konfiguriert sind. Aufgrund der Besonderheiten der Bereitstellung sind viele dieser Aufgaben möglicherweise unnötig.
Desktopbenachrichtigungssymbole
Benachrichtigungssymbole auf dem Desktop können ziemlich aufwendige Aktualisierungsmechanismen aufweisen. Sie sollten alle Benachrichtigungen deaktivieren, indem Sie die Komponente, die diese registriert, aus der Startliste entfernen, oder indem Sie die Konfiguration für Apps und Systemkomponenten ändern, um sie zu deaktivieren. Sie können Benachrichtigungssymbole anpassen verwenden, um die Liste der auf dem Server verfügbaren Benachrichtigungen zu untersuchen.
Datenkomprimierung des Remotedesktopprotokolls
Die Komprimierung des Remotedesktopprotokolls kann mithilfe der Gruppenrichtlinie unter Computerkonfiguration>Administrative Vorlagen>Windows-Komponenten>Remotedesktopdienste>Remotedesktop-Sitzungshost>Remotesitzungsumgebung>Komprimierung für RemoteFX-Daten konfigurieren konfiguriert werden. Drei Werte sind möglich:
Optimiert für geringere Arbeitsspeichernutzung: Verbraucht die geringste Arbeitsspeichermenge pro Sitzung, weist jedoch das niedrigste Komprimierungsverhältnis und damit den höchsten Bandbreitenverbrauch auf.
Gleicht zwischen Arbeitsspeicher- und Netzwerkbandbreitennutzung aus: Verringerter Bandbreitenverbrauch bei geringfügiger Erhöhung des Arbeitsspeicherverbrauchs (ca. 200 KB pro Sitzung).
Optimiert für geringere Netzwerkbandbreitennutzung: Verringert die Nutzung der Netzwerkbandbreite noch weiter zu Kosten von ca. 2 MB pro Sitzung. Wenn Sie diese Einstellung verwenden möchten, sollten Sie die maximale Anzahl von Sitzungen bewerten und mit dieser Einstellung bis zu diesem Niveau testen, bevor Sie den Server in die Produktion bringen.
Sie können auch entscheiden, keinen Komprimierungsalgorithmus für das Remotedesktopprotokoll zu verwenden, weshalb wir seine Verwendung nur mit einem Hardwaregerät empfehlen, das zur Optimierung des Netzwerkdatenverkehrs entwickelt wurde. Selbst wenn Sie keinen Komprimierungsalgorithmus verwenden, werden einige Grafikdaten komprimiert.
Geräteumleitung
Die Geräteumleitung kann mithilfe der Gruppenrichtlinie unter Computerkonfiguration>Administrative Vorlagen>Windows-Komponenten>Remotedesktopdienste>Remotedesktop-Sitzungshost>Geräte- und Ressourcenumleitung oder mithilfe des Eigenschaftenfelds Sitzungssammlung in Server-Manager konfiguriert werden.
Im Allgemeinen erhöht die Geräteumleitung die Netzwerkbandbreite, die für RD-Sitzungshostserver-Verbindungen verwendet wird, weil Daten zwischen Geräten auf den Clientcomputern und Prozessen, die in der Serversitzung ausgeführt werden, ausgetauscht werden. Das Ausmaß der Erhöhung ist eine Funktion der Häufigkeit von Vorgängen, die von den Anwendungen ausgeführt werden, die auf dem Server für die umgeleiteten Geräte ausgeführt werden.
Druckerumleitung und Plug & Play-Geräteumleitung erhöhen ebenfalls die CPU-Auslastung bei der Anmeldung. Sie können Drucker auf zwei Arten umleiten:
Übereinstimmende druckertreiberbasierte Umleitung, wenn ein Treiber für den Drucker auf dem Server installiert werden muss. In früheren Versionen von Windows Server wurde diese Methode verwendet.
Die in Windows Server 2008 eingeführte Easy Print-Druckertreiberumleitung verwendet einen allgemeinen Druckertreiber für alle Drucker.
Wir empfehlen die Easy Print-Methode, da sie zur Verbindungszeit weniger CPU-Auslastung für die Druckerinstallation verursacht. Die Methode mit übereinstimmenden Treibern führt zu einer erhöhten CPU-Auslastung, da der Spoolerdienst verschiedene Treiber laden muss. Hinsichtlich der Bandbreitenauslastung führt Easy Print zu einer leicht erhöhten Netzwerkbandbreitenauslastung, die aber nicht signifikant genug ist, um die anderen Vorteile hinsichtlich Leistung, Verwaltbarkeit und Zuverlässigkeit wettzumachen.
Audioumleitung verursacht einen stetigen Stream von Netzwerkdatenverkehr. Audioumleitung ermöglicht Benutzern außerdem die Ausführung von Multimedia-Apps, die in der Regel einen hohen CPU-Verbrauch aufweisen.
Einstellungen für die Clientbenutzeroberfläche
Standardmäßig wählt Remotedesktopverbindung (RDC) basierend auf der Eignung der Netzwerkverbindung zwischen Server und Clientcomputern automatisch die richtige Einstellung für die Benutzeroberfläche aus. Es wird empfohlen, die RDC-Konfiguration auf Verbindungsqualität automatisch erkennen zu belassen.
Für erfahrene Benutzer bietet RDC die Kontrolle über eine Reihe von Einstellungen, die die Leistung der Netzwerkbandbreite für die Remotedesktopdienste-Verbindung beeinflussen. Sie können auf die folgenden Einstellungen zugreifen, indem Sie die Registerkarte Erfahrung in der Remotedesktopverbindung oder als Einstellungen in der RDP-Datei verwenden.
Die folgenden Einstellungen gelten beim Herstellen einer Verbindung mit einem beliebigen Computer:
Hintergrundbild deaktivieren (Disable wallpaper:i:0): Das Desktophintergrundbild wird bei umgeleiteten Verbindungen nicht angezeigt. Diese Einstellung kann die Bandbreitennutzung erheblich reduzieren, wenn das Desktophintergrundbild aus einem Bild oder einem anderen Inhalt mit erheblichen Zeichnungskosten besteht.
Bitmapcache (Bitmapcachepersistenable:i:1): Wenn diese Einstellung aktiviert ist, erstellt sie einen clientseitigen Cache für Bitmaps, die in der Sitzung gerendert werden. Er bietet eine erhebliche Verbesserung der Bandbreitennutzung und sollte immer aktiviert sein (es sei denn, es gibt andere Sicherheitsbedenken).
Fensterinhalte beim Ziehen anzeigen (Disable full window drag:i:1): Wenn diese Einstellung deaktiviert ist, reduziert sie die Bandbreite, indem nur der Fensterrahmen anstelle des gesamten Inhalts angezeigt wird, wenn das Fenster gezogen wird.
Menü- und Fensteranimation (Disable menu anims:i:1 und Disable cursor setting:i:1): Wenn diese Einstellungen deaktiviert sind, reduziert dies die Bandbreite, indem Animationen für Menüs (z. B. Verblassen) und Cursor deaktiviert werden.
Schriftartglättung (Allow font smoothing:i:0): Steuert die Unterstützung für das Rendering von ClearType-Schriftarten. Wenn Sie eine Verbindung mit Computern herstellen, auf denen Windows 8 oder Windows Server 2012 und höher ausgeführt wird, hat das Aktivieren oder Deaktivieren dieser Einstellung keine wesentlichen Auswirkungen auf die Bandbreitennutzung. Bei Computern, die frühere Versionen als Windows 7 und Windows 2008 R2 ausführen, wirkt sich die Aktivierung dieser Einstellung jedoch erheblich auf den Netzwerkbandbreitenverbrauch aus.
Die folgenden Einstellungen gelten nur beim Herstellen einer Verbindung mit Computern unter Windows 7 und früheren Betriebssystemversionen:
Desktopgestaltung: Diese Einstellung wird nur für eine Remotesitzung mit einem Computer unter Windows 7 oder Windows Server 2008 R2 unterstützt.
Visuelle Stile (disable themes:i:1): Wenn diese Einstellung deaktiviert wird, reduziert sie die Bandbreite, indem Designzeichnungen, die das klassische Design verwenden, vereinfacht werden.
Mithilfe der Registerkarte Erfahrung in Remotedesktopverbindung können Sie Ihre Verbindungsgeschwindigkeit auswählen, um die Leistung der Netzwerkbandbreite zu beeinflussen. Im Folgenden werden die Optionen aufgeführt, die zum Konfigurieren Ihrer Verbindungsgeschwindigkeit verfügbar sind:
Verbindungsqualität automatisch erkennen (Connection type:i:7): Wenn diese Einstellung aktiviert wird, wählt Remotedesktopverbindung automatisch Einstellungen aus, die basierend auf der Verbindungsqualität zu einer optimalen Benutzererfahrung führen. (Diese Konfiguration wird empfohlen, wenn Sie eine Verbindung mit Computern herstellen, auf denen Windows 8 oder Windows Server 2012 und höher ausgeführt wird.)
Modem (56 KBit/s) (Connection type:i:1): Diese Einstellung aktiviert die persistente Bitmapzwischenspeicherung.
Breitband mit niedriger Übertragungsrate (256 KBit/s – 2 MBit/s) (Connection type:i:2) Diese Einstellung ermöglicht die persistente Bitmapzwischenspeicherung und visuelle Stile.
Mobilfunk/Satellit (2 MBit/s – 16 MBit/s mit häufiger Latenz) (Connection type:i:3): Diese Einstellung aktiviert die Desktopgestaltung, persistente Bitmapzwischenspeicherung, visuelle Stile und Desktophintergrund.
Breitband mit hoher Übertragungsrate (2 MBit/s – 10 MBit/s) (Connection type:i:4): Diese Einstellung aktiviert die Desktopgestaltung, das Anzeigen von Fensterinhalten beim Ziehen, Menü- und Fensteranimationen, persistente Bitmapzwischenspeicherung, visuelle Stile und Desktophintergrund.
WAN (10 MBit/s oder höher mit häufiger Latenz) (Connection type:i:5): Diese Einstellung aktiviert die Desktopgestaltung, das Anzeigen von Fensterinhalten beim Ziehen, Menü- und Fensteranimationen, persistente Bitmapzwischenspeicherung, visuelle Stile und Desktophintergrund.
LAN (10 MBit/s oder höher) (Connection type:i:6): Diese Einstellung aktiviert die Desktopgestaltung, das Anzeigen von Fensterinhalten beim Ziehen, Menü- und Fensteranimationen, persistente Bitmapzwischenspeicherung, Designs und Desktophintergrund.
Desktopgröße
Die Desktopgröße für Remotesitzungen kann über die Registerkarte „Anzeige“ in Remotedesktopverbindung oder mithilfe der RDP-Konfigurationsdatei (desktopwidth:i:1152 und desktopheight:i:864) gesteuert werden. Je größer die Desktopgröße, desto größer ist der Arbeitsspeicher- und Bandbreitenverbrauch, der mit dieser Sitzung einhergeht. Die aktuelle maximale Desktopgröße beträgt 4096 x 2048.