Freigeben über


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 der Bereitstellung eines RD-Sitzungshostservers wird die Auswahl der Hardware durch den Anwendungssatz und deren Nutzung durch Benutzer bestimmt. Die wichtigsten Faktoren, die sich auf die Anzahl der Benutzer und ihre Erfahrung auswirken, sind CPU, Arbeitsspeicher, Datenträger und Grafiken. Dieser Abschnitt enthält zusätzliche Richtlinien, die speziell für RD-Sitzungshostserver gelten und hauptsächlich mit der Umgebung mit mehreren Benutzern von RD-Sitzungshostservern zusammenhängen.

CPU-Konfiguration

Die CPU-Konfiguration wird konzeptionell bestimmt, indem die erforderliche CPU multipliziert wird, um eine Sitzung mit der Anzahl der Sitzungen zu unterstützen, die vom System unterstützt werden sollen, während eine Pufferzone für die Verarbeitung temporärer Spitzen beibehalten wird. Mehrere logische Prozessoren können dazu beitragen, abnormale CPU-Überlastungssituationen zu reduzieren, die in der Regel durch einige überaktive Threads verursacht werden, die in einer ähnlichen Anzahl logischer Prozessoren enthalten sind.

Je logischere Prozessoren auf einem System sind, desto niedriger ist der Pufferrand, der in die CPU-Auslastungsschätzung integriert werden muss, was zu einem größeren Prozentsatz der aktiven Auslastung pro CPU führt. Ein wichtiger Faktor, den man beachten sollte, ist, dass die Verdoppelung der Anzahl der CPUs nicht zu einer Verdoppelung der CPU-Leistung führt.

Konfiguration des Arbeitsspeichers

Die Speicherkonfiguration hängt von den Anwendungen ab, die benutzer verwenden; Die erforderliche Arbeitsspeichermenge kann jedoch mit der folgenden Formel geschätzt werden: TotalMem = OSMem + SessionMem * NS

OSMem ist, wie viel Arbeitsspeicher das Betriebssystem zum Ausführen benötigt (z. B. System-Binärimages, Datenstrukturen usw.), SessionMem ist, wie viel Arbeitsspeicherprozesse in einer Sitzung ausgeführt werden müssen, und NS ist die Zielanzahl der aktiven Sitzungen. Der erforderliche Arbeitsspeicher für eine Sitzung wird hauptsächlich durch den privaten Speicherverweissatz für Anwendungen und Systemprozesse bestimmt, die innerhalb der Sitzung ausgeführt werden. Freigegebener Code oder Datenseiten haben wenig Auswirkungen, da nur eine Kopie auf dem System vorhanden ist.

Eine interessante Beobachtung (vorausgesetzt, das Datenträgersystem, das die Seitendatei sichert, wird nicht verändert) ist, dass je größer die Anzahl der gleichzeitigen aktiven Sitzungen ist, die das System plant zu unterstützen, desto größer muss die Speicherzuteilung pro Sitzung sein. Wenn der pro Sitzung zugewiesene Arbeitsspeicher nicht erhöht wird, erhöht sich die Anzahl der Seitenfehler, die aktive Sitzungen generieren, mit der Anzahl der Sitzungen. Diese Fehler überwältigen schließlich das E/A-Subsystem. Durch die Erhöhung des Speichers, der pro Sitzung zugeordnet wird, verringert sich die Wahrscheinlichkeit, dass Seitenfehler entstehen, wodurch die Gesamtrate der Seitenfehler reduziert wird.

Datenträgerkonfiguration

Der Speicher ist einer der am häufigsten übersehenen Aspekte beim Konfigurieren von RD-Sitzungshostservern und kann die häufigste Einschränkung in Systemen sein, die im Feld 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 durch unterschiedliche Speichergeräte gesichert werden. Die Verwendung von striped RAID-Konfigurationen oder anderen Arten von Hochleistungsspeicher verbessert die Leistung weiter. Es wird dringend empfohlen, Speicheradapter mit mittels Akkus abgesicherter Schreibzwischenspeicherung zu verwenden. Controller mit Festplattenschreib-Cache bieten eine 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, Bandbreite von ca. 10 bis 100 Kilobit pro Sekunde, während umfangreiche Grafiken und Videowiedergabe erhebliche Bandbreitenauslastungen verursachen.

  • Back-End-Verbindungen wie Roamingprofile, Anwendungszugriff auf Dateifreigaben, Datenbankserver, E-Mail-Server und HTTP-Server.

    Das Volume und das Profil des Netzwerkdatenverkehrs sind für jede Bereitstellung spezifisch.

Optimierung von Anwendungen für den Remote Desktop-Sitzungshost

Der Großteil der CPU-Auslastung auf einem RD-Sitzungshostserver wird von Apps gesteuert. Desktop-Apps sind in der Regel auf Reaktionsfähigkeit optimiert, um zu minimieren, wie lange eine Anwendung benötigt, um auf eine Benutzeranfrage zu reagieren. In einer Serverumgebung ist es jedoch ebenso wichtig, die Gesamtmenge der für eine Aktion erforderlichen CPU-Auslastung zu minimieren, 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 das Deaktivieren der Grammatik- und Rechtschreibprüfung im Hintergrund, die Datenindizierung für die Suche und das Speichern im Hintergrund.

  • Minimieren Sie, wie oft eine App eine Statusüberprüfung oder -aktualisierung durchführt.

    Das Deaktivieren solcher Verhaltensweisen oder das Erhöhen des Intervalls zwischen Abrufdurchläufen und dem Auslösen des Timers bringt erhebliche Vorteile bei der CPU-Auslastung, da die Auswirkungen solcher Aktivitäten bei vielen aktiven Sitzungen schnell verstärkt werden. Typische Beispiele sind Verbindungsstatussymbole und Aktualisierungen von Statusleisteninformationen.

  • Minimieren Sie den Ressourcenkonflikt zwischen Apps, indem Sie die Synchronisierungshäufigkeit verringern.

    Beispiele für solche Ressourcen sind Registrierungsschlüssel und Konfigurationsdateien. Beispiele für Anwendungskomponenten und Features sind Statusanzeige (z. B. Shellbenachrichtigungen), Hintergrundindizierung oder Änderungsüberwachung und Offlinesynchronisierung.

  • Deaktivieren Sie unnötige Prozesse, die registriert sind, um mit der Benutzeranmeldung oder einem Sitzungsstart zu beginnen.

    Diese Prozesse können erheblich zu den Kosten der CPU-Auslastung bei der Erstellung einer neuen Benutzersitzung beitragen, was in der Regel ein CPU-intensiver Prozess ist und es in morgendlichen Szenarien 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 Verwendung von Autoruns für Windows.

Für die Speicherauslastung sollten Sie Folgendes berücksichtigen:

  • Stellen Sie sicher, dass DLLs, die von einer App geladen wurden, nicht umgelagert werden.

    • Verschobene DLLs können überprüft werden, indem die Ansicht für Prozess-DLLs ausgewählt wird, wie in der folgenden Abbildung dargestellt, mithilfe von Process Explorer.

    • Hier sehen wir, dass y.dll verschoben wurde, da x.dll bereits die Standardbasisadresse belegt und ASLR nicht aktiviert war.

      verschobene DLL-Dateien

      Wenn DLLs verschoben werden, ist es unmöglich, ihren Code über Sitzungen hinweg zu teilen, wodurch der Platzbedarf einer Sitzung erheblich erhöht wird. Dies ist eines der häufigsten speicherbezogenen Leistungsprobleme auf einem RD-Sitzungshostserver.

  • Verwenden Sie für CLR-Anwendungen (Common Language Runtime) native Image Generator (Ngen.exe), um die Seitenfreigabe zu erhöhen und den CPU-Aufwand zu reduzieren.

    Wenden Sie nach Möglichkeit vergleichbare Techniken auf andere ähnliche Ausführungs-Engines an.

Optimierungsparameter für Remotedesktop-Sitzungshosts

Auslagerungsdatei

Unzureichende Seitendateigröße kann zu Speicherzuweisungsfehlern 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 die CPU-Auslastung. Es wird dringend empfohlen, dass Sie aus der aktiven Überwachungsliste alle Ordner ausschließen, die temporäre Dateien enthalten, insbesondere diejenigen, die Dienste und andere Systemkomponenten generieren.

Taskplaner

Mit dem Aufgabenplaner können Sie die Liste der Vorgänge untersuchen, die für unterschiedliche Ereignisse geplant sind. Bei einem RD-Sitzungshostserver ist es hilfreich, sich speziell auf die Aufgaben zu konzentrieren, die für die Ausführung im Leerlauf, bei der Benutzeranmeldung oder bei der Sitzungsverbindung und -trennung konfiguriert sind. Aufgrund der Besonderheiten der Bereitstellung können viele dieser Aufgaben unnötig sein.

Desktopbenachrichtigungssymbole

Benachrichtigungssymbole auf dem Desktop können ziemlich teure Aktualisierungsmechanismen aufweisen. Sie sollten alle Benachrichtigungen deaktivieren, indem Sie die Komponente entfernen, die sie aus der Startliste registriert, oder indem Sie die Konfiguration für Apps und Systemkomponenten ändern, um sie zu deaktivieren. Mithilfe von "Benachrichtigungssymbole anpassen" können Sie die Liste der Benachrichtigungen untersuchen, die auf dem Server verfügbar sind.

Komprimierung von Remotedesktopprotokolldaten

Die Komprimierung des Remotedesktopprotokolls kann mithilfe von Gruppenrichtlinien unter Computerkonfiguration>Administrative Vorlagen>Windows-Komponenten>Remotedesktopdienste>Remotedesktopsitzungshost>Remotesitzungsumgebung>Konfigurieren der Komprimierung für RemoteFX-Daten konfiguriert werden. Drei Werte sind möglich:

  • Optimiert, um weniger Arbeitsspeicher zu verwenden Verbraucht die geringste Menge an Arbeitsspeicher pro Sitzung, verfügt jedoch über das niedrigste Komprimierungsverhältnis und somit den höchsten Bandbreitenverbrauch.

  • Ausgleichen von Arbeitsspeicher und Netzwerkbandbreite Verringerter Bandbreitenverbrauch, während der Arbeitsspeicherverbrauch geringfügig erhöht wird (ca. 200 KB pro Sitzung).

  • Optimiert, um weniger Netzwerkbandbreite zu verwenden Reduziert die Netzwerkbandbreite weiter auf 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 testen, bevor Sie den Server in der Produktion platzieren.

Sie können auch auswählen, dass kein Komprimierungsalgorithmus für Remotedesktopprotokolle verwendet werden soll. Daher empfehlen wir nur die Verwendung mit einem Hardwaregerät, das zum Optimieren des Netzwerkdatenverkehrs entwickelt wurde. Selbst wenn Sie keinen Komprimierungsalgorithmus verwenden, werden einige Grafikdaten komprimiert.

Geräteumleitung

Die Geräteumleitung kann über Gruppenrichtlinien unter Computerkonfiguration>Administrative Vorlagen>Windows-Komponenten>Remotedesktopdienste>Remotedesktop-Sitzungshost>Geräte- und Ressourcenumleitung oder mithilfe des Eigenschaftenfelds der Sitzungssammlung im 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. Der Umfang der Erhöhung ist eine Funktion der Häufigkeit der Vorgänge, die von den Anwendungen ausgeführt werden, die auf dem Server für die umgeleiteten Geräte ausgeführt werden.

Die Umleitung des Druckers und die Umleitung von Plug- und Play-Geräten erhöht auch 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 sein muss. In früheren Versionen von Windows Server wurde diese Methode verwendet.

  • In Windows Server 2008 eingeführt, verwendet die Umleitung des Easy Print-Druckertreibers einen gemeinsamen Druckertreiber für alle Drucker.

Wir empfehlen die Easy Print-Methode, da sie zur Verbindungszeit weniger CPU-Auslastung für die Druckerinstallation verursacht. Die übereinstimmende Treibermethode verursacht eine höhere CPU-Auslastung, da der Spoolerdienst unterschiedliche Treiber laden muss. Für die Bandbreitennutzung verursacht Easy Print eine leicht erhöhte Netzwerkbandbreite, aber nicht erheblich genug, um die anderen Vorteile der Leistung, Verwaltbarkeit und Zuverlässigkeit zu verrechnen.

Die Audioumleitung verursacht einen stetigen Netzwerkdatenverkehr. Die Audioumleitung ermöglicht benutzern auch das Ausführen von Multimedia-Apps, die in der Regel eine hohe CPU-Auslastung aufweisen.

Clientumgebungseinstellungen

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. Wir empfehlen, dass die RDC-Konfiguration auf Verbindungsqualität automatisch erkennen bleibt.

Für fortgeschrittene Benutzer bietet RDC die Kontrolle über eine Reihe von Einstellungen, die die Netzwerk-Bandbreitenleistung 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 (Hintergrundbild deaktivieren:i:0) Zeigt kein Desktophintergrund für umgeleitete Verbindungen an. Diese Einstellung kann die Bandbreitennutzung erheblich reduzieren, wenn desktop-Hintergrundbild aus einem Bild oder anderen Inhalt mit erheblichen Kosten für die Zeichnung besteht.

  • Bitmapcache (Bitmapcachepersistenable:i:1) Wenn diese Einstellung aktiviert ist, wird ein clientseitiger Cache von Bitmaps erstellt, die in der Sitzung gerendert werden. Es bietet eine erhebliche Verbesserung der Bandbreitennutzung und sollte immer aktiviert werden (es sei denn, es gibt andere Sicherheitsaspekte).

  • Inhalt von Fenstern beim Ziehen anzeigen (Vollfenster ziehen deaktivieren:i:1) Wenn diese Einstellung deaktiviert ist, wird die Bandbreite reduziert, indem nur der Fensterrahmen anstelle des gesamten Inhalts angezeigt wird, wenn das Fenster gezogen wird.

  • Menü- und Fensteranimation (Menüanimationen deaktivieren:i:1 und Cursoreinstellung deaktivieren:i:1): Wenn diese Einstellungen deaktiviert sind, reduziert sie die Bandbreite, indem Animationen in Menüs (z. B. Verblassen) und Cursorn deaktiviert werden.

  • Schriftglättung (Steuerung der Schriftglättung:i:0) Kontrolliert die Unterstützung für das Rendern von ClearType-Schriftarten. Beim Herstellen einer Verbindung mit Computern unter Windows 8 oder Windows Server 2012 und höher hat das Aktivieren oder Deaktivieren dieser Einstellung keine wesentlichen Auswirkungen auf die Bandbreitennutzung. Für Computer, auf denen Versionen vor Windows 7 und Windows 2008 R2 ausgeführt werden, 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:

  • Desktopkomposition Diese Einstellung wird nur für eine Remotesitzung auf einem Computer mit Windows 7 oder Windows Server 2008 R2 unterstützt.

  • Visuelle Stile (Themen deaktivieren:i:1) Wenn diese Einstellung deaktiviert ist, wird die Bandbreite reduziert, indem Darstellungen vereinfacht werden, die das klassische Thema verwenden.

Mithilfe der Registerkarte " Erfahrung " in der Remotedesktopverbindung können Sie die Verbindungsgeschwindigkeit auswählen, um die Leistung der Netzwerkbandbreite zu beeinflussen. Im Folgenden sind die Optionen aufgeführt, die zum Konfigurieren der Verbindungsgeschwindigkeit verfügbar sind:

  • Automatische Erkennung der Verbindungsqualität (Verbindungstyp:i:7) Wenn diese Einstellung aktiviert ist, wählt die Remotedesktopverbindung automatisch Einstellungen aus, die auf der Grundlage der Verbindungsqualität zu einer optimalen Benutzererfahrung führen. (Diese Konfiguration wird empfohlen, wenn Sie eine Verbindung mit Computern unter Windows 8 oder Windows Server 2012 und höher herstellen).

  • Modem (56 KBit/s) ( Verbindungstyp:i:1) Diese Einstellung ermöglicht die persistente Bitmapzwischenspeicherung.

  • Low Speed Broadband (256 KBit/s - 2 MBit/s) (Verbindungstyp:i:2) Diese Einstellung ermöglicht die dauerhafte Zwischenspeicherung von Bitmaps und visuellen Formatvorlagen.

  • Cellular/Satellite (2Mbps - 16 Mbps mit hoher Latenz) (Verbindungstyp:i:3) Diese Einstellung ermöglicht die Desktopkomposition, die persistente Bitmapzwischenspeicherung, visuelle Formatvorlagen und den Desktophintergrund.

  • Hochgeschwindigkeits-Breitband (2 Mbps – 10 MBit/s) (Verbindungstyp:i:4) Diese Einstellung ermöglicht die Desktopkomposition, das Anzeigen von Fensterinhalten beim Ziehen, Menü- und Fensteranimation, dauerhafte Bitmapzwischenspeicherung, visuelle Formatvorlagen und Desktophintergrund.

  • WAN (10 MBit/s oder höher mit hoher Latenz) (Verbindungstyp:i:5) Diese Einstellung ermöglicht die Desktopkomposition, das Anzeigen von Fensterinhalten beim Ziehen, Menü- und Fensteranimation, dauerhafte Bitmapzwischenspeicherung, visuelle Formatvorlagen und Desktophintergrund.

  • LAN (10 MBit/s oder höher) (Verbindungstyp:i:6) Diese Einstellung ermöglicht die Desktopkomposition, das Anzeigen von Inhalten von Fenstern beim Ziehen, Menü- und Fensteranimation, beständigen Zwischenspeichern von Bitmaps, Designs und Desktophintergrund.

Desktopgröße

Die Desktopgröße für Remotesitzungen kann mithilfe der Registerkarte "Anzeige" in der Remotedesktopverbindung oder mithilfe der RDP-Konfigurationsdatei (desktopwidth:i:1152 und desktopheight:i:864) gesteuert werden. Je größer die Desktopgröße ist, desto größer ist der Speicher- und Bandbreitenverbrauch, der dieser Sitzung zugeordnet ist. Die aktuelle maximale Desktopgröße beträgt 4096 x 2048.