Use contadores de desempenho para diagnosticar os problemas de desempenho do aplicativo nos Hosts da Sessão da Área de Trabalho Remota

Aplica-se a: Windows Server 2022, Windows Server 2019 e Windows 10

O baixo desempenho do aplicativo é um dos problemas mais difíceis de diagnosticar, especialmente para aplicativos lentos ou com problemas de capacidade de resposta. Tradicionalmente, você inicia o diagnóstico coletando métricas de CPU, memória, entrada/saída de disco e outras. Em seguida, você usa ferramentas como o Windows Performance Analyzer para tentar descobrir o que está causando o problema. Na maioria das situações, esses dados não o ajudarão a identificar a causa raiz, porque contadores de consumo de recursos têm variações grandes e frequentes. Essa situação torna difícil ler os dados e correlacioná-los com o problema relatado.

Observação

O contador de Atraso de Entrada do Usuário só é compatível com:

  • Windows Server 2019 ou posterior
  • Windows 10, versão 1809 ou posterior

O contador de Atraso na Entrada do Usuário pode ajudar você a identificar rapidamente a causa raiz de experiências de desempenho ruim da Área de Trabalho Remota do usuário final. Esse contador mede por quanto tempo qualquer entrada do usuário, como o uso do mouse ou do teclado, permanece na fila antes que um processo a pegue. O contador funciona em sessões locais e remotas.

A imagem a seguir mostra uma representação aproximada do fluxo de entrada do usuário do cliente para o aplicativo.

Diagram of user input flows from the users Remote Desktop client to the application.

O contador de Atraso na Entrada do Usuário mede o delta máximo dentro de um intervalo de tempo entre a entrada que está sendo enfileirada e quando ela é coletada pelo aplicativo em um loop de mensagem tradicional. Um loop de mensagem tradicional é mostrado no seguinte fluxograma:

Diagram of user input Delay performance counter flow.

Um detalhe importante desse contador é que ele relata o atraso máximo de entrada de usuário dentro de um intervalo configurável. Esse atraso é o tempo mais longo necessário para que uma entrada alcance o aplicativo, o que pode afetar a velocidade de ações visíveis e importantes, como a digitação.

Por exemplo, na tabela a seguir, o atraso de entrada do usuário seria informado como 1.000 ms dentro deste intervalo. O contador reporta o atraso na entrada do usuário mais lento do intervalo. O contador reporta esse atraso pois a percepção de "lentidão" do usuário é determinada pelo tempo de entrada mais lento (tempo máximo) registrado, e não pela velocidade média de todas as entradas.

Número 0 1 2
Atraso 16 ms 20 ms 1\.000 ms

Habilitar e usar os novos contadores de desempenho

Para usar esses novos contadores de desempenho, você precisa primeiro habilitar uma chave do Registro executando este comando:

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

Observação

Se estiver usando o Windows 10 versão 1809 ou posterior, ou o Windows Server 2019 ou posterior, não será necessário habilitar a chave do Registro.

Em seguida, reinicie o servidor. Em seguida, abra o Monitor de Desempenho e selecione o ícone de adição (+), conforme mostrado na seguinte captura de tela:

Screenshot showing how to add the User input Delay performance counter.

Depois de fazer isso, você deverá ver o diálogo Adicionar Contadores, onde poderá selecionar Atraso na Entrada do Usuário por Processo ou Atraso na Entrada do Usuário por Sessão.

Screenshot showing how to add the User input Delay per session.

Screenshot showing how to add the User input Delay per process.

Ao selecionar Atraso na Entrada do Usuário por Processo, você verá as instâncias do objeto selecionado, em outras palavras, os processos no formato SessionID:ProcessID <Process Image>.

Por exemplo, se o aplicativo da Calculadora estiver em execução na ID de Sessão 1, você verá 1:4232 <Calculator.exe>.

Observação

Nem todos os processos são incluídos. Você não verá todos os processos que estão sendo executados como SYSTEM.

O contador começará a reportar o atraso de entrada do usuário assim que você adicioná-lo. Por padrão, a escala máxima é definida como 100 (ms).

Screenshot of an example of activity for the User Input Delay per process in the Performance Monitor.

Em seguida, confira o Atraso na Entrada do Usuário por Sessão. Há instâncias para cada ID de sessão e os respectivos contadores mostram o atraso de entrada do usuário de qualquer processo dentro da sessão especificada. Além disso, há duas instâncias chamadas "Max" (o atraso máximo de entrada do usuário em todas as sessões) e "Average" (a média em todas as sessões).

Esta tabela mostra um exemplo visual dessas instâncias. Você pode obter as mesmas informações no Perfmon, alternando para o tipo de grafo de Relatório.

Tipo de contador Nome da instância Atraso relatado (ms)
Atraso de Entrada do Usuário por processo 1:4232 <Calculator.exe> 200
Atraso de Entrada do Usuário por processo 2:1000 <Calculator.exe> 16
Atraso de Entrada do Usuário por processo 1:2000 <Calculator.exe> 32
Atraso de entrada do usuário por sessão 1 200
Atraso de entrada do usuário por sessão 2 16
Atraso de entrada do usuário por sessão Média 108
Atraso de entrada do usuário por sessão Máx. 200

Contadores usados em um sistema sobrecarregado

Agora vamos examinar o que você vê no relatório se o desempenho de um aplicativo está degradado. O gráfico a seguir mostra leituras para usuários que trabalham remotamente no Microsoft Word. Nesse caso, o desempenho se degrada ao longo do tempo, à medida que mais usuários entram remotamente.

Screenshot of an example performance graph for the RDSH server running Microsoft Word.

Eis aqui como ler as linhas do grafo:

  • A linha rosa mostra o número de sessões conectadas no servidor.
  • A linha vermelha é o uso da CPU.
  • A linha verde é o atraso máximo de entrada de usuário entre todas as sessões.
  • A linha azul, exibida como preta nesse grafo, representa o atraso médio na entrada do usuário entre todas as sessões.

Há uma correlação entre os picos de CPU e os atraso na entrada do usuário. À medida que a CPU acumula mais uso, o atraso na entrada do usuário aumenta. Além disso, conforme mais usuários são adicionados ao sistema, o uso da CPU fica próximo a 100%, levando a picos de atraso de entrada do usuário mais frequentes. Embora esse contador seja útil para casos em que o servidor fica sem recursos, ele também pode rastrear o atraso na entrada do usuário em relação a um aplicativo específico.

Opções de configuração

Uma coisa importante a se lembrar ao usar esse contador de desempenho é que ele reporta o atraso na entrada do usuário em um intervalo de 1.000 ms por padrão. Se você definir a propriedade de intervalo de amostra do contador de desempenho, como mostrado na captura de tela a seguir, com algo diferente, o valor reportado estará incorreto.

Screenshot of the Performance Monitor Properties dialog.

Para corrigir esse problema, você pode definir a chave do Registro a seguir para corresponder ao intervalo (em milissegundos) que deseja usar. Por exemplo, se você alterar a amostra de A cada 1 segundo para A cada 5 segundos, será preciso definir essa chave como 5000 ms.

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

"LagCounterInterval"=dword:00005000

Observação

Se estiver usando o Windows 10 versão 1809 ou posterior, ou o Windows Server 2019 ou posterior, não será necessário definir LagCounterInterval para corrigir o contador de desempenho.

Também adicionamos algumas chaves que podem ser úteis sob a mesma chave do Registro:

LagCounterImageNameFirst – defina essa chave como DWORD 1 (o valor padrão é 0 ou a chave não existe). Essa chave altera os nomes dos contadores para "Nome da Imagem <SessionID:ProcessId>", por exemplo, "explorer <1:7964>". Essa alteração é útil se você deseja classificar pelo nome da imagem.

LagCounterShowUnknown – defina essa chave como DWORD 1 (o valor padrão é 0 ou a chave não existe). Essa chave mostra qualquer processo que esteja sendo executados como serviço ou SYSTEM. Alguns processos aparecem com a sessão definida como "?".

A seguinte imagem mostra a aparência com ambas as chaves ativadas:

Screenshot of the performance monitor with both keys on.

Usando os novos contadores com ferramentas não pertencentes à Microsoft

Ferramentas de monitoramento podem consumir esse contador ao Usar Contadores de Desempenho.

Compartilhe seus comentários

Você pode enviar comentários para esse recurso por meio do Hub de Comentários. Selecione Aplicativos > Todos os outros aplicativos e inclua "Contadores de desempenho do RDS – monitor de desempenho" no título da sua postagem.