använd prestandaräknare för att diagnostisera appprestandaproblem på Fjärrskrivbordssessionsvärdar

  • 01/19/2021
  • 5 minuter att läsa
    • l
    • H
    • e
    • D
    • i
    • +2

gäller för: Windows Server 2019, Windows 10

ett av de svåraste problemen att diagnostisera är dålig applikationsprestanda-applikationerna körs långsamt eller svarar inte. Traditionellt börjar du din diagnos genom att samla CPU, minne, diskingång/ – utgång och andra mätvärden och sedan använda verktyg som Windows Performance Analyzer för att försöka lista ut vad som orsakar problemet. Tyvärr, i de flesta situationer hjälper dessa data inte dig att identifiera grundorsaken eftersom resursförbrukningsräknare har frekventa och stora variationer. Detta gör det svårt att läsa data och korrelera det med det rapporterade problemet.

Obs

Användarinmatningsfördröjningsräknaren är endast kompatibel med:

  • Windows Server 2019 eller senare
  • Windows 10, version 1809 eller senare

Användarinmatningsfördröjningsräknaren kan hjälpa dig att snabbt identifiera grundorsaken till dåliga slutanvändares RDP-upplevelser. Denna räknare mäter hur länge någon användarinmatning (t.ex. mus-eller tangentbordsanvändning) stannar i kön innan den hämtas av en process, och räknaren fungerar i både lokala och fjärrsessioner.

följande bild visar en grov representation av användarinmatningsflödet från klient till applikation.

fjärrskrivbord-användarinmatning strömmar från användarens fjärrskrivbordsklient till applikationen

Användarinmatningsfördröjningsräknaren mäter max delta (inom ett tidsintervall) mellan ingången som står i kö och när den hämtas av appen i en traditionell meddelandeslinga, som visas i följande flödesschema:

Remote Desktop - User input Delay performance counter flow

en viktig detalj i denna räknare är att den rapporterar den maximala användarinmatningsfördröjningen inom ett konfigurerbart intervall. Det här är den längsta tiden det tar för en inmatning att nå applikationen, vilket kan påverka hastigheten på viktiga och synliga åtgärder som att skriva.

till exempel i följande tabell skulle användarinmatningsfördröjningen rapporteras som 1000 ms inom detta intervall. Räknaren rapporterar den långsammaste användarinmatningsfördröjningen i intervallet eftersom användarens uppfattning om” långsam ” bestäms av den långsammaste inmatningstiden (det maximala) de upplever, inte medelhastigheten för alla totala ingångar.

nummer 0 1 2
fördröjning 16 ms 20 ms 1000 ms

aktivera och använd de nya prestandaräknarna

för att använda dessa nya prestandaräknare måste du först aktivera en registernyckel genom att köra det här kommandot:

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

Obs!

om du använder Windows 10, version 1809 eller senare eller Windows Server 2019 eller senare behöver du inte aktivera registernyckeln.

starta sedan om servern. Öppna sedan Performance Monitor och välj plustecknet (+), som visas i följande skärmbild.

Remote Desktop - en skärmdump som visar hur man lägger till användarinmatningsfördröjningsprestandarräknare

efter att ha gjort det bör du se dialogrutan Lägg till räknare, där du kan välja Användarinmatningsfördröjning per Process eller Användarinmatningsfördröjning per Session.

fjärrskrivbord-en skärmdump som visar hur du lägger till Användarinmatningsfördröjningen per session

Remote Desktop-en skärmdump som visar hur du lägger till Användarinmatningsfördröjning per process

om du väljer Användarinmatningsfördröjning per Process ser du instanserna av det valda objektet (med andra ord processerna) i formatet SessionID:ProcessID <Process Image>.

om Kalkylatorappen till exempel körs i ett sessions-ID 1 ser du 1:4232 <Calculator.exe>.

Obs

inte alla processer ingår. Du kommer inte att se några processer som körs som SYSTEM.

räknaren börjar rapportera användarinmatningsfördröjning så snart du lägger till den. Observera att den maximala skalan är inställd på 100 (ms) som standard.

fjärrskrivbord - ett exempel på aktivitet för Användarinmatningsfördröjning per process i Prestandamonitorn

Låt oss sedan titta på Användarinmatningsfördröjningen per Session. Det finns instanser för varje sessions-ID, och deras räknare visar användarens inmatningsfördröjning av någon process inom den angivna sessionen. Dessutom finns det två instanser som kallas ” Max ”(den maximala användarinmatningsfördröjningen över alla sessioner) och” Average ” (den genomsnittliga acorss alla sessioner).

denna tabell visar ett visuellt exempel på dessa instanser. (Du kan få samma information i Perfmon genom att byta till Rapportgraftypen.)

typ av räknare Instansnamn rapporterad fördröjning (ms)
Användarinmatningsfördröjning per process 1:4232 <kalkylator.exe> 200
Användarinmatningsfördröjning per process 2:1000 <kalkylator.exe> 16
Användarinmatningsfördröjning per process 1:2000 <kalkylator.exe> 32
fördröjning av användarinmatning per session 1 200
fördröjning av användarinmatning per session 2 16
Användarinmatningsfördröjning per session genomsnitt 108
Användarinmatningsfördröjning per session Max 200

räknare som används i ett överbelastat system

låt oss nu titta på vad du ser i rapporten om prestanda för en app försämras. Följande diagram visar avläsningar för användare som arbetar på distans i Microsoft Word. I det här fallet försämras rdsh-serverns prestanda över tiden när fler användare loggar in.

fjärrskrivbord-ett exempel på prestanda för rdsh-servern som kör Microsoft Word

så här läser du grafens linjer:

  • den rosa linjen visar antalet inloggade sessioner på servern.
  • den röda linjen är CPU-användningen.
  • den gröna linjen är den maximala användarinmatningsfördröjningen för alla sessioner.
  • den blå linjen (visas som svart i denna graf) representerar Genomsnittlig användarinmatningsfördröjning över alla sessioner.

du märker att det finns en korrelation mellan CPU—spikar och användarinmatningsfördröjning-eftersom CPU: n får mer användning ökar användarinmatningsfördröjningen. När fler användare läggs till i systemet kommer CPU-användningen närmare 100%, vilket leder till mer frekventa fördröjningsspikar för användarinmatning. Även om denna räknare är mycket användbar i de fall där servern tar slut på resurser, kan du också använda den för att spåra användarinmatningsfördröjning relaterad till en specifik applikation.

konfigurationsalternativ

en viktig sak att komma ihåg när du använder denna prestandaräknare är att den rapporterar användarinmatningsfördröjning med ett intervall på 1 000 ms som standard. Om du ställer in egenskapen performance counter sample interval (som visas i följande skärmdump) till något annat, kommer det rapporterade värdet att vara felaktigt.

fjärrskrivbord - egenskaperna för din prestandamonitor

för att åtgärda detta kan du ställa in följande registernyckel så att den matchar intervallet (i millisekunder) som du vill använda. Om vi till exempel byter prov varje x sekund till 5 sekunder måste vi ställa in den här nyckeln till 5000 ms.

"LagCounterInterval"=dword:00005000

Obs!

om du använder Windows 10, version 1809 eller senare eller Windows Server 2019 eller senare behöver du inte ställa in LagCounterInterval för att fixa prestandaräknaren.

vi har också lagt till ett par nycklar som du kan hitta till hjälp under samma registernyckel:

LagCounterImageNameFirst — Ställ in den här nyckeln till DWORD 1 (standardvärde 0 eller nyckel finns inte). Detta ändrar räknarnamnen till ” Image Name SessionID:ProcessId.”Till exempel” explorer <1:7964>.”Detta är användbart om du vill sortera efter bildnamn.

LagCounterShowUnknown — Ställ in den här nyckeln till DWORD 1 (standardvärde 0 eller nyckel finns inte). Detta visar alla processer som körs som tjänster eller SYSTEM. Vissa processer kommer att dyka upp med sin session inställd som”?.”

så här ser det ut om du slår på båda tangenterna:

fjärrskrivbord - prestandamonitorn med båda tangenterna på

använda de nya räknarna med icke-Microsoft-verktyg

övervakningsverktyg kan konsumera denna räknare med hjälp av prestandaräknare.

dela din feedback

du kan skicka feedback för den här funktionen via Feedback Hub. Välj Appar > alla andra appar och inkludera ”RDS performance counters-performance monitor” i ditt inläggs Titel.

You might also like

Lämna ett svar

Din e-postadress kommer inte publiceras.