Usar contadores de rendimiento para diagnosticar problemas de rendimiento de aplicaciones en Hosts de sesión de escritorio remoto

  • 01/19/2021
  • 5 minutos de lectura
    • l
    • H
    • e
    • D
    • i
    • +2

Se aplica a: Windows Server 2019, Windows 10

Uno de los problemas más difíciles de diagnosticar es el bajo rendimiento de las aplicaciones: las aplicaciones se ejecutan lentamente o no responden. Tradicionalmente, se inicia el diagnóstico recopilando CPU, memoria, entrada/salida de disco y otras métricas y, a continuación, se utilizan herramientas como el Analizador de rendimiento de Windows para tratar de averiguar qué está causando el problema. Desafortunadamente, en la mayoría de las situaciones, estos datos no ayudan a identificar la causa raíz porque los contadores de consumo de recursos tienen variaciones frecuentes y grandes. Esto hace que sea difícil leer los datos y correlacionarlos con el problema reportado.

Nota

El contador de retardo de entrada de usuario solo es compatible con:

  • Windows Server 2019 o posterior
  • Windows 10, versión 1809 o posterior

El contador de retardo de entrada de usuario puede ayudarlo a identificar rápidamente la causa raíz de las malas experiencias RDP del usuario final. Este contador mide cuánto tiempo permanece en la cola cualquier entrada del usuario (como el uso del ratón o el teclado) antes de que un proceso la capte, y el contador funciona tanto en sesiones locales como remotas.

La siguiente imagen muestra una representación aproximada del flujo de entrada del usuario desde el cliente a la aplicación.

 Escritorio remoto: Flujos de entrada de usuario desde el cliente de Escritorio remoto de usuarios a la aplicación

El contador de retardo de entrada de usuario mide el delta máximo (dentro de un intervalo de tiempo) entre la entrada que se pone en cola y cuando la aplicación la recoge en un bucle de mensajes tradicional, como se muestra en el siguiente diagrama de flujo:

 Escritorio remoto: Contraflujo de rendimiento de retardo de entrada de usuario

Un detalle importante de este contador es que informa el retardo máximo de entrada de usuario dentro de un intervalo configurable. Este es el tiempo más largo que tarda una entrada en llegar a la aplicación, lo que puede afectar la velocidad de acciones importantes y visibles, como escribir.

Por ejemplo, en la siguiente tabla, el retraso de entrada del usuario se reportaría como 1,000 ms dentro de este intervalo. El contador informa del retraso de entrada más lento del usuario en el intervalo porque la percepción del usuario de «lento» está determinada por el tiempo de entrada más lento (el máximo) que experimenta, no por la velocidad promedio de todas las entradas totales.

Número de 0 1 2
Retraso 16 ms 20 ms 1.000 ms

Habilitar y utilizar los nuevos contadores de rendimiento

uso De estos nuevos contadores de rendimiento, debe activar una clave de registro, ejecute este comando:

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

Nota

Si utiliza Windows 10, versión 1809 o posterior o Windows Server 2019 o posterior, no necesitará habilitar la clave de registro.

A continuación, reinicie el servidor. A continuación, abra el Monitor de rendimiento y seleccione el signo más (+), como se muestra en la siguiente captura de pantalla.

 Escritorio remoto: Una captura de pantalla que muestra cómo agregar el contador de rendimiento de Retardo de entrada de usuario

Después de hacer esto, debería ver el cuadro de diálogo Agregar contadores, donde puede seleccionar Retardo de entrada de usuario por Proceso o Retardo de entrada de usuario por sesión.

 Escritorio remoto: Una captura de pantalla que muestra cómo agregar el Retardo de entrada del usuario por sesión

Escritorio remoto: Captura de pantalla que muestra cómo agregar el Retardo de entrada de usuario por proceso

Si selecciona Retardo de entrada de usuario por proceso, verá las Instancias del objeto seleccionado (en otras palabras, los procesos) en formato SessionID:ProcessID <Process Image>.

Por ejemplo, si la aplicación Calculadora se ejecuta en un ID de sesión 1, verá 1:4232 <Calculator.exe>.

Nota

No se incluyen todos los procesos. No verá ningún proceso que se esté ejecutando como SISTEMA.

El contador comienza a informar del retraso de entrada del usuario tan pronto como lo agrega. Tenga en cuenta que la escala máxima está establecida en 100 (ms) de forma predeterminada.

 Escritorio remoto: Un ejemplo de actividad para el Retardo de entrada de usuario por proceso en el Monitor de rendimiento

A continuación, veamos el Retardo de entrada de usuario por sesión. Hay instancias para cada ID de sesión, y sus contadores muestran el retraso de entrada del usuario de cualquier proceso dentro de la sesión especificada. Además, hay dos instancias llamadas «Max» (el retardo máximo de entrada del usuario en todas las sesiones) y «Average» (el promedio de todas las sesiones).

Esta tabla muestra un ejemplo visual de estas instancias. (Puede obtener la misma información en Perfmon cambiando al tipo de gráfico de informe.)

Tipo de contador Nombre de la instancia Retraso notificado (ms)
Retardo de entrada de usuario por proceso 1:4232 <Calculadora.exe> 200
Retardo de entrada de usuario por proceso 2:1000 <Calculadora.exe> 16
Retardo de entrada de usuario por proceso 1:2000 <Calculadora.exe> 32
Usuario Retrasar la Entrada por sesión 1 200
Usuario Retrasar la Entrada por sesión 2 16
Usuario Retrasar la Entrada por sesión Media 108
Usuario Retrasar la Entrada por sesión Max 200

Contadores utilizados en un sistema sobrecargado

Ahora veamos lo que se verá en el informe si el rendimiento de una aplicación, se degrada. El siguiente gráfico muestra las lecturas para los usuarios que trabajan de forma remota en Microsoft Word. En este caso, el rendimiento del servidor RDSH se degrada con el tiempo a medida que más usuarios inician sesión.

 Escritorio remoto: Un gráfico de rendimiento de ejemplo para el servidor RDSH que ejecuta Microsoft Word

Aquí le mostramos cómo leer las líneas del gráfico:

  • La línea rosa muestra el número de sesiones iniciadas en el servidor.
  • La línea roja es el uso de la CPU.
  • La línea verde es el retardo máximo de entrada del usuario en todas las sesiones.
  • La línea azul (que se muestra en negro en este gráfico) representa el retraso medio de entrada del usuario en todas las sesiones.

Notará que hay una correlación entre los picos de CPU y el retardo de entrada del usuario: a medida que la CPU se usa más, el retardo de entrada del usuario aumenta. Además, a medida que se agregan más usuarios al sistema, el uso de la CPU se acerca al 100%, lo que lleva a picos de retardo de entrada de usuario más frecuentes. Si bien este contador es muy útil en los casos en que el servidor se queda sin recursos, también puede usarlo para rastrear el retraso de entrada del usuario relacionado con una aplicación específica.

Opciones de configuración

Una cosa importante a recordar al usar este contador de rendimiento es que informa de retardo de entrada del usuario en un intervalo de 1000 ms de forma predeterminada. Si establece la propiedad intervalo de muestra del contador de rendimiento (como se muestra en la siguiente captura de pantalla) en algo diferente, el valor notificado será incorrecto.

 Escritorio remoto: Las propiedades de su monitor de rendimiento

Para solucionar esto, puede establecer la siguiente clave de registro para que coincida con el intervalo (en milisegundos) que desea usar. Por ejemplo, si cambiamos la muestra cada x segundos a 5 segundos, necesitamos establecer esta tecla en 5000 ms.

"LagCounterInterval"=dword:00005000

Nota

Si utiliza Windows 10, versión 1809 o posterior o Windows Server 2019 o posterior, no es necesario configurar LagCounterInterval para corregir el contador de rendimiento.

También hemos agregado un par de claves que podrían resultarle útiles bajo la misma clave de registro:

LagCounterImageNameFirst-establezca esta clave en DWORD 1 (el valor predeterminado 0 o la clave no existe). Esto cambia los nombres de contador a «Nombre de la Imagen SessionID:Idproceso.»Por ejemplo,» explorador <1:7964>.»Esto es útil si desea ordenar por nombre de imagen.

LagCounterShowUnknown-establezca esta clave en DWORD 1 (el valor predeterminado 0 o la clave no existe). Esto muestra los procesos que se ejecutan como servicios o SISTEMA. Algunos procesos aparecerán con su sesión configurada como»?.»

Así es como se ve si enciendes ambas teclas:

 Escritorio remoto: El monitor de rendimiento con ambas teclas en

Utilizando los nuevos contadores con herramientas que no son de Microsoft

Las herramientas de supervisión pueden consumir este contador mediante el uso de Contadores de rendimiento.

Comparta sus comentarios

Puede enviar comentarios para esta función a través del Centro de comentarios. Selecciona Aplicaciones > Todas las demás aplicaciones e incluye «contadores de rendimiento RDS-monitor de rendimiento» en el título de tu publicación.

You might also like

Deja una respuesta

Tu dirección de correo electrónico no será publicada.