Partilhar via


Usar contadores de desempenho para diagnosticar problemas de desempenho do aplicativo em hosts de sessão da área de trabalho remota

O fraco desempenho dos aplicativos é um dos problemas mais difíceis de diagnosticar, especialmente para aplicativos lentos ou que não respondem. Tradicionalmente, você inicia o diagnóstico coletando CPU, memória, entrada/saída de disco e outras métricas. Em seguida, você usa ferramentas como o Analisador de Desempenho do Windows para tentar descobrir o que está causando o problema. Infelizmente, na maioria das situações, esses dados não ajudam a identificar a causa raiz porque os contadores de consumo de recursos têm variações frequentes e grandes. Esta situação dificulta a leitura dos dados e correlacioná-los com o problema relatado.

Note

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 de Entrada do Utilizador pode ajudá-lo a identificar rapidamente a causa raiz do mau desempenho na experiência de uso da Área de Trabalho Remota por parte do utilizador final. Esse contador mede por quanto tempo qualquer entrada do usuário, como o uso de mouse ou teclado, permanece na fila antes que um processo a receba. O contador funciona tanto em sessões locais como em remotas.

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

Diagrama dos fluxos de entrada do cliente de Área de Trabalho Remota do usuário para a aplicação.

O contador de Atraso de Entrada do Utilizador mede o delta máximo dentro de um intervalo de tempo entre a entrada que está a ser colocada em fila e quando o aplicativo num loop de mensagem tradicional a processa. Um loop de mensagem tradicional é mostrado no seguinte fluxograma:

Diagrama de entrada do usuário Retardar o fluxo do contador de desempenho.

Um detalhe importante deste contador é que ele relata o atraso máximo de entrada do usuário dentro de um intervalo configurável. Esse atraso é o maior tempo que uma entrada leva para chegar ao aplicativo, o que pode afetar a velocidade de ações importantes e visíveis, como digitar.

Por exemplo, na tabela a seguir, o atraso de entrada do usuário seria relatado como 1.000 ms dentro desse intervalo. O contador relata o atraso mais demorado na entrada do utilizador durante o intervalo. O contador relata esse atraso porque a perceção do usuário de "lento" é determinada pelo tempo de entrada mais lento (o máximo) que ele experimenta e não pela velocidade média de todas as entradas totais.

Number 0 1 2
Delay 16 ms 20 ms 1.000 ms

Habilitar e usar os novos contadores de desempenho

Para usar esses novos contadores de desempenho, você deve 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

Note

Se você usa o Windows 10, versão 1809 ou posterior ou o Windows Server 2019 ou posterior, não precisará 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 captura de tela a seguir:

Captura de ecrã mostrando como adicionar o contador de desempenho Atraso de entrada do utilizador.

Em seguida, você verá a caixa de diálogo Adicionar Contadores , onde pode selecionar Atraso de entrada do usuário por processo ou Atraso de entrada do usuário por sessão.

Captura de tela mostrando como adicionar o Atraso de entrada do usuário por sessão.

Captura de tela mostrando como adicionar o Atraso de entrada do usuário por processo.

Quando você seleciona Atraso de entrada do usuário por processo, você vê as instâncias do objeto selecionado, em outras palavras, os processos no SessionID:ProcessID <Process Image> formato.

Por exemplo, se o aplicativo Calculadora estiver sendo executado em uma ID de Sessão 1, você verá 1:4232 <Calculator.exe>.

Note

Nem todos os processos estão incluídos. Você não verá nenhum processo que esteja sendo executado como SYSTEM.

O contador começa a relatar o atraso de entrada do usuário assim que você o adiciona. A escala máxima é definida como 100 (ms) por padrão.

Captura de ecrã de um exemplo de atividade para o Atraso de Entrada do Utilizador por processo no Monitor de Desempenho.

Em seguida, consulte o Atraso de entrada do usuário por sessão. Há instâncias para cada ID de sessão, e seus 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 gráfico Relatório.

Tipo de contador Nome da instância Atraso comunicado (ms)
Atraso de entrada do usuário por processo 01:4232 <Calculator.exe> 200
Atraso de entrada do usuário por processo 02:1000 <Calculator.exe> 16
Atraso de entrada do usuário por processo 01: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 Average 108
Atraso de entrada do usuário por sessão Max 200

Contadores utilizados num sistema sobrecarregado

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

Captura de ecrã de um exemplo de gráfico de desempenho para o servidor RDSH que executa o Microsoft Word.

Veja como ler as linhas do gráfico:

  • 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 do usuário em todas as sessões.
  • A linha azul, exibida como preta neste gráfico, representa o atraso médio de entrada do usuário em todas as sessões.

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

Opções de configuração

Uma coisa importante a lembrar quando você usa esse contador de desempenho é que ele relata o atraso de 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, conforme mostrado na captura de tela a seguir, como algo diferente, o valor relatado estará incorreto.

Captura de ecrã da caixa de diálogo Propriedades do Monitor de Desempenho.

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

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

"LagCounterInterval"=dword:00005000

Note

Se você usa o Windows 10, versão 1809 ou posterior ou o Windows Server 2019 ou posterior, não é necessário definir LagCounterInterval para corrigir o contador de desempenho.

Também adicionamos algumas chaves que você pode achar úteis sob a mesma chave do Registro:

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

LagCounterShowUnknown—defina essa chave como DWORD 1 (o valor padrão 0 ou chave não existe). Essa chave mostra todos os processos que estão sendo executados como serviços ou SYSTEM. Alguns processos aparecem com sua sessão definida como "?".

A imagem a seguir mostra a aparência com ambas as teclas ligadas:

Captura de ecrã do monitor de desempenho com ambas as teclas ligadas.

Usar os novos contadores com ferramentas que não sejam da Microsoft

As ferramentas de monitoramento podem consumir esse contador usando contadores de desempenho.

Partilhe os seus comentários

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