- 01/19/2021
- 5 minuten te lezen
-
- l
- H
- e
- D
- ik
-
+2
van Toepassing op: Windows Server 2019, Windows 10
een van de moeilijkste problemen om te diagnosticeren is slechte applicatieprestaties—de applicaties draaien traag of reageren niet. Traditioneel, u begint uw diagnose door het verzamelen van CPU, geheugen, disk input/output, en andere statistieken en vervolgens gebruik maken van tools zoals Windows Performance Analyzer om te proberen om erachter te komen wat de oorzaak van het probleem. Helaas helpen deze gegevens u in de meeste situaties niet om de oorzaak te identificeren, omdat tellers voor resourceconsumptie frequente en grote variaties hebben. Dit maakt het moeilijk om de gegevens te lezen en te correleren met het gerapporteerde probleem.
Note
de gebruiker invoer vertraging teller is alleen compatibel met:
- Windows Server 2019 of hoger
- Windows 10, versie 1809 of hoger
de user Input Delay counter kan u helpen snel de oorzaak van slechte eindgebruiker RDP-ervaringen te identificeren. Deze teller meet hoe lang een gebruiker invoer (zoals muis of toetsenbord gebruik) in de wachtrij blijft voordat het wordt opgepikt door een proces, en de teller werkt in zowel lokale en remote sessies.
de volgende afbeelding toont een ruwe weergave van de invoerstroom van de gebruiker van client naar toepassing.
de teller voor de invoervertraging van de gebruiker meet de maximale delta (binnen een tijdsinterval) tussen de invoer in de wachtrij en wanneer deze door de app wordt opgepikt in een traditionele berichtlus, zoals weergegeven in het volgende stroomdiagram:
een belangrijk detail van deze teller is dat het de maximale invoervertraging van de gebruiker binnen een configureerbaar interval rapporteert. Dit is de langste tijd die nodig is voor een input om de toepassing te bereiken, wat de snelheid van belangrijke en zichtbare acties zoals typen kan beïnvloeden.
in de volgende tabel wordt bijvoorbeeld de invoervertraging van de gebruiker gerapporteerd als 1.000 ms binnen dit interval. De teller rapporteert de traagste invoervertraging van de gebruiker in het interval omdat de perceptie van de gebruiker van “traag” wordt bepaald door de traagste invoertijd (het maximum) die ze ervaren, niet de gemiddelde snelheid van alle totale ingangen.
Aantal | 0 | 1 | 2 |
---|---|---|---|
vertraging | 16 ms | 20 ms | 1.000 ms |
de nieuwe prestatietellers
Als u deze nieuwe prestatietellers 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
opmerking
als u Windows 10, versie 1809 of hoger of Windows Server 2019 of hoger gebruikt, hoeft u de registersleutel niet in te schakelen.
start de server opnieuw op. Open vervolgens de Prestatiemeter en selecteer het plusteken (+), zoals weergegeven in de volgende schermafbeelding.
nadat u dat hebt gedaan, ziet u het dialoogvenster tellers toevoegen, waarin u de invoervertraging van de gebruiker per proces of de invoervertraging van de gebruiker per sessie kunt selecteren.
Als u op Invoer van de Gebruiker Vertraging per Proces ziet u de Exemplaren van het geselecteerde object (in andere woorden, de processen) in SessionID:ProcessID <Process Image>
opmaak.
bijvoorbeeld, als de Calculator-app draait in een sessie-ID 1, ziet u 1:4232 <Calculator.exe>
.
Noot
niet alle processen zijn opgenomen. U ziet geen processen die worden uitgevoerd als systeem.
de teller begint met het rapporteren van de invoervertraging van de gebruiker zodra u deze toevoegt. Merk op dat de maximale schaal standaard is ingesteld op 100 (ms).
laten we nu eens kijken naar de invoervertraging van de gebruiker per sessie. Er zijn instanties voor elke sessie-ID en hun tellers tonen de invoervertraging van de gebruiker van elk proces binnen de opgegeven sessie. Daarnaast zijn er twee instanties genaamd ” Max “(de maximale invoervertraging voor alle sessies) en” Average ” (de gemiddelde acorss alle sessies).
deze tabel toont een visueel voorbeeld van deze gevallen. (U kunt dezelfde informatie krijgen in Perfmon door over te schakelen naar het type Rapportgrafiek.)
type teller | instantienaam | gerapporteerde vertraging (ms)) |
---|---|---|
invoervertraging per proces | 1:4232 <rekenmachine.exe> | 200 |
invoervertraging per proces | 2:1000 <rekenmachine.exe> | 16 |
invoervertraging per proces | 1:2000 <rekenmachine.exe> | 32 |
Input van de Gebruiker Vertraging per sessie | 1 | 200 |
Input van de Gebruiker Vertraging per sessie | 2 | 16 |
Input van de Gebruiker Vertraging per sessie | Gemiddelde | 108 |
Input van de Gebruiker Vertraging per sessie | Max | 200 |
de items in een overbelast systeem
laten we Nu eens kijken naar wat je ziet in het rapport als de prestatie voor een app wordt aangetast. De volgende grafiek toont metingen voor gebruikers die op afstand werken in Microsoft Word. In dit geval verslechtert de prestaties van de RDSH-server na verloop van tijd naarmate meer gebruikers zich aanmelden.
:
- De Roze regel toont het aantal ingelogde sessies op de server.
- de rode lijn is het CPU-gebruik.
- De Groene regel is de maximale invoervertraging voor alle sessies.
- de blauwe lijn (weergegeven als zwart in deze Grafiek) Vertegenwoordigt de gemiddelde invoervertraging voor alle sessies.
u zult merken dat er een correlatie is tussen CPU—spikes en invoervertraging van de gebruiker-naarmate de CPU meer gebruik krijgt, neemt de invoervertraging van de gebruiker toe. Ook, als meer gebruikers krijgen toegevoegd aan het systeem, CPU-gebruik wordt dichter bij 100%, wat leidt tot meer frequente gebruiker input delay spikes. Hoewel deze teller erg handig is in gevallen waarin de server geen bronnen meer heeft, kunt u deze ook gebruiken om de invoervertraging van gebruikers gerelateerd aan een specifieke toepassing bij te houden.
configuratieopties
een belangrijk ding om te onthouden bij het gebruik van deze prestatieteller is dat het standaard invoervertraging van de gebruiker rapporteert met een interval van 1.000 ms. Als u de eigenschap prestatieteller sample interval (zoals weergegeven in de volgende schermafbeelding) op iets anders instelt, is de gerapporteerde waarde onjuist.
om dit te verhelpen, kunt u de volgende registersleutel instellen op het interval (in milliseconden) dat u wilt gebruiken. Bijvoorbeeld, als we steekproef elke X seconden veranderen in 5 seconden, moeten we deze sleutel op 5000 ms instellen.
"LagCounterInterval"=dword:00005000
opmerking
Als u Windows 10, versie 1809 of hoger of Windows Server 2019 of hoger gebruikt, hoeft u LagCounterInterval niet in te stellen om de prestatieteller te repareren.
we hebben ook een paar sleutels toegevoegd die u wellicht nuttig vindt onder dezelfde registersleutel:
LagCounterImageNameFirst — Stel deze sleutel in op DWORD 1
(standaardwaarde 0 of sleutel bestaat niet). Dit verandert de teller namen in ” Image Name SessionID: ProcessId.”Bijvoorbeeld,” explorer <1:7964>.”Dit is handig als u wilt sorteren op afbeelding naam.
LagCounterShowUnknown-Stel deze sleutel in op DWORD 1
(standaardwaarde 0 of sleutel bestaat niet). Dit toont alle processen die worden uitgevoerd als services of systeem. Sommige processen zullen verschijnen met hun sessie ingesteld als “?.”
zo ziet het eruit als je beide toetsen inschakelt:
met behulp van de nieuwe tellers met niet-Microsoft tools
monitoringtools kan deze teller gebruiken met behulp van prestatietellers.
deel uw feedback
u kunt feedback geven voor deze functie via de Feedback Hub. Selecteer Apps > alle andere apps en neem “RDS performance counters—performance monitor” op in de titel van uw bericht.