Utilizzare i contatori delle prestazioni per la diagnosi app di problemi di prestazioni su Remote Desktop Session Host

  • 01/19/2021
  • 5 minuti a leggere
    • l
    • H
    • e
    • D
    • i
    • +2

si Applica a: Finestre Server 2019, Finestre 10

Uno dei problemi più difficili da diagnosticare è la scarsa performance delle applicazioni: le applicazioni funzionano lentamente o non rispondono. Tradizionalmente, si avvia la diagnosi raccogliendo CPU, memoria, input/output del disco e altre metriche e quindi utilizzare strumenti come Windows Performance Analyzer per cercare di capire cosa sta causando il problema. Sfortunatamente, nella maggior parte delle situazioni questi dati non aiutano a identificare la causa principale perché i contatori del consumo di risorse hanno variazioni frequenti e grandi. Ciò rende difficile leggere i dati e correlarli con il problema segnalato.

Nota

L’Utente di Ritardo di Ingresso contatore è compatibile solo con:

  • Windows Server 2019 o versione successiva
  • Windows 10, la versione 1809 o poi

L’Utente di Ritardo di Ingresso contatore può aiutare a identificare rapidamente la causa principale della cattiva utente finale RDP esperienze. Questo contatore misura per quanto tempo qualsiasi input dell’utente (come l’utilizzo del mouse o della tastiera) rimane nella coda prima che venga raccolto da un processo e il contatore funziona sia in sessioni locali che remote.

L’immagine seguente mostra una rappresentazione approssimativa del flusso di input dell’utente dal client all’applicazione.

Desktop remoto - L'input dell'utente scorre dal client Desktop remoto dell'utente all'applicazione

Il contatore del ritardo dell’input dell’utente misura il delta massimo (entro un intervallo di tempo) tra l’input in coda e quando viene raccolto dall’app in un ciclo di messaggi tradizionale, come mostrato nel seguente diagramma di flusso:

Desktop remoto - Ritardo dell'input dell'utente Flusso del contatore delle prestazioni

Un dettaglio importante di questo contatore è che riporta il ritardo massimo dell’input dell’utente entro un intervallo configurabile. Questo è il tempo più lungo necessario per un input per raggiungere l’applicazione, che può influire sulla velocità di azioni importanti e visibili come la digitazione.

Ad esempio, nella tabella seguente, il ritardo di input dell’utente verrà segnalato come 1.000 ms all’interno di questo intervallo. Il contatore segnala il ritardo di input dell’utente più lento nell’intervallo perché la percezione dell’utente di “lento” è determinata dal tempo di input più lento (il massimo) che sperimentano, non dalla velocità media di tutti gli input totali.

Numero 0 1 2
Ritardo 16 ms 20 ms 1.000 ms

Attivare ed utilizzare i nuovi contatori delle prestazioni

Per utilizzare questi nuovi contatori delle prestazioni, è necessario prima attivare una chiave del registro di sistema, eseguire questo comando:

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

Nota

Se si utilizza Windows 10, versione 1809 o successiva o Windows Server 2019 o successiva, non sarà necessario abilitare la chiave di registro.

Quindi, riavviare il server. Quindi, aprire il Performance Monitor e selezionare il segno più ( + ), come mostrato nella schermata seguente.

Desktop remoto - Uno screenshot che mostra come aggiungere il contatore delle prestazioni del ritardo di input dell'utente

Dopo averlo fatto, dovresti vedere la finestra di dialogo Aggiungi contatori, dove puoi selezionare il ritardo di input dell’utente per processo o il ritardo di input dell’utente per sessione.

Desktop Remoto - Una schermata che mostra come aggiungere l'Utente di Ritardo di ingresso per ogni sessione

Desktop Remoto - Una schermata che mostra come aggiungere l'Utente di Ritardo in ingresso al processo

Se si seleziona l’Utente di Ritardo in Ingresso al Processo, è possibile vedere le Istanze dell’oggetto selezionato (in altre parole, i processi) in SessionID:ProcessID <Process Image> formato.

Ad esempio, se l’app Calcolatrice è in esecuzione in un ID di sessione 1, vedrai 1:4232 <Calculator.exe>.

Nota

Non tutti i processi sono inclusi. Non vedrai alcun processo in esecuzione come SISTEMA.

Il contatore inizia a segnalare il ritardo di input dell’utente non appena lo si aggiunge. Si noti che la scala massima è impostata su 100 (ms) per impostazione predefinita.

Desktop remoto - Un esempio di attività per il ritardo di input dell'utente per processo nel monitor delle prestazioni

Quindi, diamo un’occhiata al ritardo di input dell’utente per sessione. Esistono istanze per ogni ID di sessione e i relativi contatori mostrano il ritardo di input dell’utente di qualsiasi processo all’interno della sessione specificata. Inoltre, ci sono due istanze chiamate “Max” (il ritardo massimo di input dell’utente in tutte le sessioni) e “Average” (l’acorss medio tutte le sessioni).

Questa tabella mostra un esempio visivo di queste istanze. (È possibile ottenere le stesse informazioni in Perfmon passando al tipo di grafico del report.)

Tipo di contatore Nome istanza Ritardo segnalato (ms)
Ritardo di input dell’utente per processo 1:4232 <Calcolatrice.exe> 200
Ritardo di input dell’utente per processo 2:1000 <Calcolatrice.exe> 16
Ritardo di input dell’utente per processo 1:2000 <Calcolatrice.exe> 32
Utente di Ritardo di Ingresso per ogni sessione 1 200
Utente di Ritardo di Ingresso per ogni sessione 2 16
Utente di Ritardo di Ingresso per ogni sessione Media 108
Utente di Ritardo di Ingresso per ogni sessione Max 200

i Contatori utilizzati in un sistema sovraccarico

Ora diamo un’occhiata a quello che vedrete nel report se le prestazioni di un’applicazione è degradata. Il grafico seguente mostra le letture per gli utenti che lavorano in remoto in Microsoft Word. In questo caso, le prestazioni del server RDSH si degradano nel tempo man mano che più utenti accedono.

Desktop remoto - Un grafico delle prestazioni di esempio per il server RDSH che esegue Microsoft Word

Ecco come leggere le linee del grafico:

  • La riga rosa mostra il numero di sessioni eseguite sul server.
  • La linea rossa è l’utilizzo della CPU.
  • La linea verde è il ritardo massimo di input dell’utente in tutte le sessioni.
  • La linea blu (visualizzata come nera in questo grafico) rappresenta il ritardo medio di input dell’utente in tutte le sessioni.

Noterai che esiste una correlazione tra i picchi della CPU e il ritardo di input dell’utente: man mano che la CPU aumenta l’utilizzo, il ritardo di input dell’utente aumenta. Inoltre, man mano che più utenti vengono aggiunti al sistema, l’utilizzo della CPU si avvicina al 100%, portando a picchi di ritardo dell’input dell’utente più frequenti. Sebbene questo contatore sia molto utile nei casi in cui il server esaurisce le risorse, è anche possibile utilizzarlo per tenere traccia del ritardo di input dell’utente relativo a un’applicazione specifica.

Opzioni di configurazione

Una cosa importante da ricordare quando si utilizza questo contatore delle prestazioni è che riporta il ritardo di input dell’utente su un intervallo di 1.000 ms per impostazione predefinita. Se si imposta la proprietà intervallo di campionamento del contatore delle prestazioni (come mostrato nella schermata seguente) su qualcosa di diverso, il valore riportato non sarà corretto.

Desktop remoto - Le proprietà per il monitor delle prestazioni

Per risolvere il problema, è possibile impostare la seguente chiave di registro in modo che corrisponda all’intervallo (in millisecondi) che si desidera utilizzare. Ad esempio, se cambiamo il campione ogni x secondi a 5 secondi, dobbiamo impostare questa chiave su 5000 ms.

"LagCounterInterval"=dword:00005000

Nota

Se si utilizza Windows 10, versione 1809 o successiva o Windows Server 2019 o successiva, non è necessario impostare LagCounterInterval per correggere il contatore delle prestazioni.

Abbiamo anche aggiunto un paio di chiavi che potresti trovare utili sotto la stessa chiave di registro:

LagCounterImageNameFirst — imposta questa chiave su DWORD 1 (il valore predefinito 0 o la chiave non esiste). Questo cambia i nomi dei contatori in ” Nome immagine SessionID: ProcessId.”Ad esempio,” explorer <1:7964>.”Questo è utile se si desidera ordinare per nome dell’immagine.

LagCounterShowUnknown-imposta questa chiave su DWORD 1 (il valore predefinito 0 o la chiave non esiste). Questo mostra tutti i processi che sono in esecuzione come servizi o sistema. Alcuni processi verranno visualizzati con la loro sessione impostata come”?.”

Questo è come appare se accendi entrambi i tasti:

Desktop remoto: il monitor delle prestazioni con entrambi i tasti su

Utilizzando i nuovi contatori con strumenti non Microsoft

Gli strumenti di monitoraggio possono utilizzare questo contatore utilizzando i contatori delle prestazioni.

Condividi il tuo feedback

È possibile inviare feedback per questa funzione tramite l’Hub di feedback. Seleziona App > Tutte le altre app e includi “RDS performance counters-performance monitor” nel titolo del tuo post.

You might also like

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.