Freigeben über


Verwenden von Leistungsindikatoren für die Diagnose von Leistungsproblemen von Anwendungen auf Remotedesktop-Sitzungshosts

Eines der am schwierigsten zu diagnostizierenden Probleme ist mangelhafte Anwendungsleistung – insbesondere bei langsamen oder nicht reagierenden Anwendungen. Üblicherweise beginnen Sie Ihre Diagnose, indem Sie Metriken zu CPU, Arbeitsspeicher, Datenträger-E/A und anderen Aspekten sammeln. Anschließend verwenden Sie Tools wie Windows Performance Analyzer, um die Ursache des Problems zu ermitteln. Leider helfen diese Daten in den meisten Fällen nicht beim Bestimmen der Grundursache, da Indikatoren zum Ressourcenverbrauch viele und große Variationen aufweisen. Diese Situation macht es schwer, die Daten zu lesen und sie mit dem gemeldeten Problem zu korrelieren.

Hinweis

Der Indikator „User Input Delay“ (Benutzereingabeverzögerung) ist nur kompatibel mit:

  • Windows Server 2019 oder höher
  • Windows 10, Version 1809 oder höher

Der Indikator für die Benutzereingabeverzögerung kann Ihnen dabei helfen, schnell die Grundursache für nicht zufriedenstellende Endbenutzererfahrungen im Zusammenhang mit der RDP-Leistung zu bestimmen. Dieser Indikator misst, wie lange eine Benutzereingabe (beispielsweise die Verwendung einer Maus oder Tastatur) in der Warteschlange verbleibt, bevor sie von einem Prozess verwendet wird. Der Indikator funktioniert sowohl in lokalen Sitzungen als auch in Remotesitzungen.

Die folgende Abbildung zeigt eine ungefähre Darstellung des Flusses von Benutzereingaben vom Client zur Anwendung.

Diagramm: Fluss von Benutzereingaben vom Remotedesktopclient des Benutzers bzw. der Benutzerin zur Anwendung

Der Indikator für die Benutzereingabeverzögerung misst das maximale Delta innerhalb eines Zeitintervalls zwischen der Einreihung der Eingabe in die Warteschlange und ihrer Verwendung durch die App in einer herkömmlichen Nachrichtenschleife. Das folgende Flussdiagramm zeigt eine herkömmliche Nachrichtenschleife:

Diagramm: Fluss im Leistungsindikator für die Benutzereingabeverzögerung

Ein wichtiges Detail dieses Indikators besteht darin, dass er die maximale Verzögerung der Benutzereingabe innerhalb eines konfigurierbaren Intervalls meldet. Diese Verzögerung ist der längste Zeitraum, den eine Eingabe zum Erreichen der Anwendung benötigt, und kann sich auf die Geschwindigkeit wichtiger und sichtbarer Aktionen auswirken – beispielsweise auf die Eingabe.

Beispielsweise würde in der folgenden Tabelle die Verzögerung der Benutzereingabe innerhalb dieses Intervalls als 1.000 ms gemeldet. Der Indikator meldet die längste Benutzereingabeverzögerung im Intervall. Der Indikator meldet diese Verzögerung, da die Benutzerwahrnehmung der Langsamkeit durch die längste erlebte Eingabezeit (das Maximum) bestimmt wird und nicht durch die mittlere Geschwindigkeit aller Eingaben.

Nr. 0 1 2
Verzögerung 16 ms 20 ms 1\.000 ms

Aktivieren und Verwenden der neuen Leistungsindikatoren

Um diese neuen Leistungsindikatoren zu verwenden, müssen Sie zuerst einen Registrierungsschlüssel aktivieren, indem Sie den folgenden Befehl ausführen:

reg add "HKLM\System\CurrentControlSet\Control\Terminal Server" /v "EnableLagCounter" /t REG_DWORD /d 0x1 /f

Hinweis

Bei Verwendung von Windows 10 (ab Version 1809) oder Windows Server 2019 (oder einer höheren Version) muss der Registrierungsschlüssel nicht aktiviert werden.

Starten Sie dann den Server neu. Öffnen Sie anschließend die Leistungsüberwachung, und wählen Sie das Pluszeichen (+) aus, wie im folgenden Screenshot zu sehen:

Screenshot: Hinzufügen des Leistungsindikators für die Benutzereingabeverzögerung

Anschließend sollte das Dialogfeld Leistungsindikatoren hinzufügen angezeigt werden. Dort können Sie Verzögerung der Benutzereingabe pro Prozess oder Verzögerung der Benutzereingabe pro Sitzung auswählen.

Screenshot: Hinzufügen des Indikators „Verzögerung der Benutzereingabe pro Sitzung“

Screenshot: Hinzufügen des Indikators „Verzögerung der Benutzereingabe pro Prozess“

Wenn Sie Verzögerung der Benutzereingabe pro Prozess auswählen, werden die Instanzen des ausgewählten Objekts (also die Prozesse) im Format SessionID:ProcessID <Process Image> angezeigt.

Wenn beispielsweise die Rechner-App in einer Sitzung mit der Sitzungs-ID 1 ausgeführt wird, wird 1:4232 <Calculator.exe> angezeigt.

Hinweis

Es werden nicht alle Prozesse dargestellt. Sie sehen keine Prozesse, die als SYSTEM ausgeführt werden.

Der Indikator beginnt sofort nach dem Hinzufügen, die Verzögerung der Benutzereingabe zu melden. Die maximale Skalierung ist standardmäßig auf 100 (ms) festgelegt.

Screenshot: Beispiel der Aktivität für die Benutzereingabeverzögerung pro Prozess in der Leistungsüberwachung

Sehen Sie sich als Nächstes die Verzögerung der Benutzereingabe pro Sitzung an. Es gibt Instanzen für jede Sitzungs-ID, und ihre Indikatoren zeigen die Verzögerung der Benutzereingabe jedes Prozesses innerhalb der angegebenen Sitzung. Darüber hinaus gibt es zwei Instanzen namens „Max“ (die maximale Benutzereingabeverzögerung über alle Sitzungen) und „Average“ (der Durchschnitt über alle Sitzungen).

Diese Tabelle zeigt ein visuelles Beispiel dieser Instanzen. Sie können die gleichen Informationen in der Leistungsüberwachung abrufen, indem Sie zum Diagrammtyp „Bericht“ wechseln.

Indikatortyp Instanzenname Gemeldete Verzögerung (ms)
Verzögerung der Benutzereingabe pro Prozess 1:4232 <Calculator.exe> 200
Verzögerung der Benutzereingabe pro Prozess 2:1000 <Calculator.exe> 16
Verzögerung der Benutzereingabe pro Prozess 1:2000 <Calculator.exe> 32
Verzögerung der Benutzereingabe pro Sitzung 1 200
Verzögerung der Benutzereingabe pro Sitzung 2 16
Verzögerung der Benutzereingabe pro Sitzung Durchschnitt 108
Verzögerung der Benutzereingabe pro Sitzung Max 200

Einsatz der Indikatoren in einem überlasteten System

Als Nächstes erfahren Sie, wie der Bericht aussieht, wenn die Leistung für eine App beeinträchtigt ist. Das folgende Diagramm zeigt Messwerte für Benutzer, die remote in Microsoft Word arbeiten. In diesem Fall lässt die Leistung im Laufe der Zeit nach, wenn sich mehr Remotebenutzer*innen anmelden.

Screenshot: Exemplarisches Leistungsdiagramm für den RDSH-Server, auf dem Microsoft Word ausgeführt wird

So lesen sich die Linien des Diagramms:

  • Die pinkfarbene Linie zeigt die Anzahl der Sitzungen, die beim Server angemeldet sind.
  • Die rote Linie ist die CPU-Auslastung.
  • Die grüne Linie ist die maximale Verzögerung der Benutzereingaben über alle Sitzungen.
  • Die blaue Linie (in diesem Diagramm schwarz dargestellt) stellt die durchschnittliche Benutzereingabeverzögerung für alle Sitzungen dar.

Es besteht ein Zusammenhang zwischen den Spitzen der CPU-Auslastung und der Benutzereingabeverzögerung. Bei zunehmender CPU-Auslastung erhöht sich die Benutzereingabeverzögerung. Außerdem gelangt die CPU-Auslastung näher an 100 %, während dem System weitere Benutzer hinzugefügt werden, was zu häufigeren Spitzen bei der Verzögerung der Benutzereingaben führt. Dieser Leistungsindikator ist zwar in Fällen nützlich, in denen dem Server die Ressourcen ausgehen, er kann aber auch verwendet werden, um die Benutzereingabeverzögerung bezogen auf eine bestimmte Anwendung nachzuverfolgen.

Konfigurationsoptionen

Bei Verwendung dieses Leistungsindikators ist zu beachten, dass die Benutzereingabeverzögerung standardmäßig in einem Intervall von 1.000 ms gemeldet wird. Wenn Sie die Stichprobenintervalleigenschaft des Leistungsindikators auf einen anderen Wert festlegen (wie im folgenden Screenshot zu sehen), ist der gemeldete Wert nicht korrekt.

Screenshot: Eigenschaftendialogfeld der Leistungsüberwachung

Zur Behebung dieses Problem können Sie den folgenden Registrierungsschlüssel auf das gewünschte Intervall (in Millisekunden) festlegen. Wenn Sie also beispielsweise das Stichprobenintervall von einer Sekunde in fünf Sekunden ändern, muss dieser Schlüssel auf 5.000 ms festgelegt werden.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]

"LagCounterInterval"=dword:00005000

Hinweis

Bei Verwendung von Windows 10 (ab Version 1809) oder Windows Server 2019 (oder einer höheren Version) muss LagCounterInterval nicht festgelegt werden, um den Leistungsindikator zu korrigieren.

Unter dem gleichen Registrierungsschlüssel haben wir außerdem zwei Schlüssel hinzugefügt, die Sie möglicherweise nützlich finden:

LagCounterImageNameFirst: Legen Sie diesen Schlüssel auf DWORD 1 fest. Der Standardwert ist „0“, oder der Schlüssel ist nicht vorhanden. Mit diesem Schlüssel werden die Indikatornamen in „Imagename <SitzungsID:Prozess-ID>“geändert (Beispiel: explorer <1:7964>). Diese Änderung ist nützlich, wenn Sie nach Imagename sortieren möchten.

LagCounterShowUnknown: Legen Sie diesen Schlüssel auf DWORD 1 fest. Der Standardwert ist „0“, oder der Schlüssel ist nicht vorhanden. Dieser Schlüssel zeigt alle Prozesse an, die als Dienste oder SYSTEM ausgeführt werden. Einige Dienste werden mit „?“ als Wert für die Sitzung angezeigt.

Die folgende Abbildung zeigt, wie es aussieht, wenn beide Schlüssel aktiviert sind:

Screenshot: Leistungsüberwachung mit Aktivierung beider Schlüssel

Verwenden der neuen Indikatoren mit nicht von Microsoft stammenden Tools

Überwachungstools können diesen Indikator unter Verwendung von Leistungsindikatoren nutzen.

Teilen Sie Ihr Feedback mit

Sie können Feedback zu dieser Funktion über den Feedback-Hub senden. Wählen Sie Apps > Alle anderen Apps aus, und schließen Sie „RDS-Leistungsindikatoren: Systemmonitor“ in den Titel Ihres Beitrags ein.