Delen via


Prestatiemonitoren gebruiken om prestatieproblemen met apps op Extern bureaublad-sessiehosts te diagnosticeren.

Slechte toepassingsprestaties zijn een van de moeilijkste problemen die kunnen worden vastgesteld, met name voor trage of niet-reagerende toepassingen. Normaal gesproken begint u met uw diagnose door CPU, geheugen, schijfinvoer/uitvoer en andere metrische gegevens te verzamelen. Vervolgens gebruikt u hulpprogramma's zoals Windows Performance Analyzer om erachter te komen wat het probleem veroorzaakt. Helaas helpt deze gegevens u in de meeste gevallen niet om de hoofdoorzaak te identificeren, omdat resourceverbruiktellers frequente en grote variaties hebben. Deze situatie maakt het moeilijk om de gegevens te lezen en te correleren met het gemelde probleem.

Note

De teller Vertraging bij gebruikersinvoer is alleen compatibel met:

  • Windows Server 2019 of hoger
  • Windows 10, versie 1809 of hoger

Met de tijddelaysindicator voor gebruikersinvoer kunt u snel de hoofdoorzaak identificeren van slecht presterende ervaringen van eindgebruikers met Extern Bureaublad. Deze teller meet hoe lang gebruikersinvoer, zoals het gebruik van de muis of het toetsenbord, in de wachtrij blijft voordat een proces het ophaalt. De teller werkt zowel in lokale als in externe sessies.

In de volgende afbeelding ziet u een ruwe weergave van de invoerstroom van de gebruiker van client naar toepassing.

Diagram van gebruikersinvoerstromen van de extern bureaublad-client van gebruikers naar de toepassing.

De teller voor gebruikersinvoervertraging meet de maximale delta binnen een interval tussen het in de wachtrij plaatsen van de invoer en het moment waarop de app deze in een traditionele berichtenlus oppikt. In het volgende stroomdiagram wordt een traditionele berichtlus weergegeven:

Diagram van de prestatiemeter voor gebruikersinvoervertraging.

Een belangrijk detail van deze teller is dat de maximale vertraging van gebruikersinvoer binnen een configureerbaar interval wordt gerapporteerd. Deze vertraging is de langste tijd die nodig is voor een invoer om de toepassing te bereiken. Dit kan van invloed zijn op de snelheid van belangrijke en zichtbare acties, zoals typen.

In de volgende tabel wordt de vertraging van de invoer van de gebruiker bijvoorbeeld gerapporteerd als 1000 ms binnen dit interval. De teller rapporteert de traagste vertraging van gebruikersinvoer in het interval. De teller meldt deze vertraging omdat de perceptie van 'traag' van de gebruiker wordt bepaald door de traagste invoertijd (het maximum) die ze ervaren en niet de gemiddelde snelheid van alle totale invoer.

Number 0 1 2
Delay 16 ms 20 ms 1,000 ms

De nieuwe prestatiemeteritems inschakelen en gebruiken

Als u deze nieuwe prestatiemeteritems wilt gebruiken, moet u eerst een registersleutel inschakelen door deze opdracht uit te voeren:

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

Note

Als u Windows 10, versie 1809 of hoger of Windows Server 2019 of hoger gebruikt, hoeft u de registersleutel niet in te schakelen.

Start vervolgens de server opnieuw op. Open vervolgens de prestatiemeter en selecteer het pluspictogram (+), zoals wordt weergegeven in de volgende schermopname:

Schermopname die laat zien hoe u de prestatiemeteritem Vertraging van gebruikersinvoer toevoegt.

Next, you should see the Add Counters dialog, where you can select User Input Delay per Process or User Input Delay per Session.

Schermopname die laat zien hoe u de vertraging van gebruikersinvoer per sessie toevoegt.

Schermopname die laat zien hoe u de vertraging van gebruikersinvoer per proces toevoegt.

Wanneer u Vertraging van gebruikersinvoer per proces selecteert, ziet u de exemplaren van het geselecteerde object, met andere woorden, de processen in SessionID:ProcessID <Process Image> formaat.

Als de rekenmachine-app bijvoorbeeld wordt uitgevoerd in een sessie-ID 1, ziet u 1:4232 <Calculator.exe>.

Note

Niet alle processen zijn opgenomen. U ziet geen processen die worden uitgevoerd als SYSTEM.

De teller begint met het rapporteren van de gebruikersinvoervertraging zodra u deze toevoegt. De maximale schaal is standaard ingesteld op 100 (ms).

Schermopname van een voorbeeld van activiteit voor de vertraging van gebruikersinvoer per proces in de prestatiemeter.

Zie vervolgens de vertraging van gebruikersinvoer per sessie. Er zijn exemplaren voor elke sessie-id en hun tellers tonen de vertraging van gebruikersinvoer van elk proces binnen de opgegeven sessie. Daarnaast zijn er twee metingen genaamd "Max" (de maximale vertraging van gebruikersinvoer tijdens alle sessies) en "Gemiddelde" (het gemiddelde tijdens alle sessies).

In deze tabel ziet u een visueel voorbeeld van deze exemplaren. U kunt dezelfde informatie in Perfmon ophalen door over te schakelen naar het grafiektype Rapport.

Soort teller Instance name Gemelde vertraging (ms)
Gebruikersinvoervertraging per proces 1:4232 <Calculator.exe> 200
Gebruikersinvoervertraging per proces 2:1000 <Calculator.exe> 16
Gebruikersinvoervertraging per proces 1:2000 <Calculator.exe> 32
Vertraging per sessie van gebruikersinvoer 1 200
Vertraging per sessie van gebruikersinvoer 2 16
Vertraging per sessie van gebruikersinvoer Average 108
Vertraging per sessie van gebruikersinvoer Max 200

Tellers die worden gebruikt in een overbelast systeem

Laten we nu eens kijken wat u in het rapport ziet als de prestaties voor een app afnemen. In de volgende grafiek ziet u de metingen voor gebruikers die op afstand werken in Microsoft Word. In dit geval verslechtert de prestaties in de loop van de tijd naarmate meer gebruikers zich op afstand aanmelden.

Schermopname van een voorbeeld van een prestatiegrafiek voor de RDSH-server waarop Microsoft Word wordt uitgevoerd.

U leest als volgt de lijnen van de grafiek:

  • De roze lijn toont het aantal sessies dat is aangemeld op de server.
  • De rode lijn is het CPU-gebruik.
  • De groene lijn is de maximale vertraging van gebruikersinvoer voor alle sessies.
  • De blauwe lijn, weergegeven als zwart in deze grafiek, vertegenwoordigt de gemiddelde vertraging van gebruikersinvoer in alle sessies.

Er is een correlatie tussen CPU-pieken en vertraging van gebruikersinvoer. Naarmate de CPU meer gebruik krijgt, neemt de vertraging van de gebruikersinvoer toe. Naarmate er meer gebruikers aan het systeem worden toegevoegd, komt het CPU-gebruik dichter bij 100%, wat leidt tot frequentere pieken in gebruikersinvoervertraging. Hoewel deze teller handig is in gevallen waarin de server onvoldoende resources heeft, kan deze ook vertraging van gebruikersinvoer bijhouden die betrekking heeft op een specifieke toepassing.

Configuration Options

Een belangrijk punt om te onthouden wanneer u deze prestatiemeteritem gebruikt, is dat gebruikersinvoervertraging standaard wordt gerapporteerd met een interval van 1000 ms. Als u de voorbeeldintervaleigenschap van het prestatiemeteritem instelt, zoals wordt weergegeven in de volgende schermopname, is de gerapporteerde waarde onjuist.

Schermopname van het dialoogvenster Eigenschappen van prestatiemeter.

U kunt dit probleem oplossen door de volgende registersleutel in te stellen op basis van het interval (in milliseconden) dat u wilt gebruiken. Als u de steekproef elke seconde wijzigt naar elke 5 seconden, moet u deze instelling op 5000 ms zetten.

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

"LagCounterInterval"=dword:00005000

Note

Als u Windows 10, versie 1809 of hoger of Windows Server 2019 of hoger gebruikt, hoeft u LagCounterInterval niet in te stellen om het prestatiemeteritem te herstellen.

We hebben ook een aantal sleutels toegevoegd die mogelijk nuttig zijn onder dezelfde registersleutel:

LagCounterImageNameFirst- stel deze sleutel in op DWORD 1 (standaardwaarde 0 of sleutel bestaat niet). Met deze sleutel worden de tellernamen gewijzigd in 'Image Name <SessionID:ProcessId>' bijvoorbeeld 'explorer <1:7964>'. Deze wijziging is handig als u wilt sorteren op afbeeldingsnaam.

LagCounterShowUnknown- stel deze sleutel in op DWORD 1 (standaardwaarde 0 of sleutel bestaat niet). Deze sleutel toont alle processen die worden uitgevoerd als services of SYSTEM. Sommige processen worden weergegeven met hun sessieset als '?'.

In de volgende afbeelding ziet u hoe het eruitziet met beide sleutels:

Schermopname van de prestatiemeter met beide sleutels ingeschakeld.

De nieuwe tellers gebruiken met niet-Microsoft-hulpprogramma's

Bewakingshulpprogramma's kunnen deze teller gebruiken met behulp van prestatiemeteritems.

Uw feedback delen

U kunt feedback voor deze functie indienen via de Feedback Hub. Selecteer Apps > Alle andere apps en neem "RDS-prestatiemeters—prestatiemonitor" op in de titel van uw bericht.