Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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.
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:
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:
Next, you should see the Add Counters dialog, where you can select User Input Delay per Process or User Input Delay per Session.
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).
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.
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.
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:
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.