Compartir a través de


Optimización del rendimiento de los servidores de sesión de escritorio remoto

En este tema, se describe cómo seleccionar el hardware del host de sesión de Escritorio remoto (host de sesión de RD), optimizar el host y optimizar las aplicaciones.

En este tema:

Selección del hardware adecuado para el rendimiento

Para una implementación de servidor host de sesión de RD, la elección del hardware depende del conjunto de aplicaciones y de cómo los usuarios las utilizan. Los factores clave que afectan al número de usuarios y su experiencia son cpu, memoria, disco y gráficos. Esta sección contiene instrucciones adicionales específicas de los servidores host de sesión de Escritorio remoto y está relacionada principalmente con el entorno multiusuario de los servidores host de sesión de Escritorio remoto.

Configuración de CPU

La configuración de CPU se determina conceptualmente multiplicando la CPU necesaria para admitir una sesión por el número de sesiones que se espera que admita el sistema, al tiempo que mantiene una zona de búfer para controlar picos temporales. Varios procesadores lógicos pueden ayudar a reducir situaciones anómalas de congestión de CPU, que suelen deberse a algunos subprocesos demasiado inactivos que están contenidos en un número similar de procesadores lógicos.

Por lo tanto, cuantos más procesadores lógicos haya en un sistema, menor será el margen de seguridad que se debe tener en cuenta en la estimación del uso del CPU, lo que da como resultado un porcentaje mayor de carga activa por CPU. Un factor importante que hay que recordar es que duplicar el número de CPU no duplica la capacidad de CPU.

Configuración de la memoria

La configuración de memoria depende de las aplicaciones que emplean los usuarios; sin embargo, la cantidad necesaria de memoria se puede calcular mediante la fórmula siguiente: TotalMem = OSMem + SessionMem * NS

OSMem es la cantidad de memoria que requiere el sistema operativo para ejecutarse (como imágenes binarias del sistema, estructuras de datos, etc.), SessionMem es la cantidad de procesos de memoria que se ejecutan en una sesión y NS es el número de sesiones activas de destino. La cantidad de memoria necesaria para una sesión viene determinada principalmente por el conjunto de referencias de memoria privada para aplicaciones y procesos del sistema que se ejecutan dentro de la sesión. El código compartido o las páginas de datos tienen poco efecto porque solo hay una copia presente en el sistema.

Una observación interesante (suponiendo que el sistema de disco que realiza una copia de seguridad del archivo de página no cambia) es que el mayor es el número de sesiones activas simultáneas que el sistema planea admitir, más grande debe ser la asignación de memoria por sesión. Si no se aumenta la cantidad de memoria asignada por sesión, el número de errores de página que generan las sesiones activas aumenta con el número de sesiones. Estos errores finalmente sobrecargan el subsistema de E/S. Al aumentar la cantidad de memoria asignada por sesión, la probabilidad de incurrir en errores de página disminuye, lo que ayuda a reducir la tasa general de errores de página.

Configuración de discos

El almacenamiento es uno de los aspectos que más se pasan por alto cuando se configuran servidores host de sesión de Escritorio remoto, y puede ser la limitación más común en los sistemas que se implementan sobre el terreno.

La actividad de disco que se genera en un servidor host de sesión de Escritorio remoto típico afecta a las siguientes áreas:

  • Archivos del sistema y archivos binarios de aplicación

  • Archivos de paginación

  • Perfiles de usuario y datos de usuario

Lo ideal es que estas áreas se realicen copias de seguridad mediante distintos dispositivos de almacenamiento. El uso de configuraciones RAID seccionadas u otros tipos de almacenamiento de alto rendimiento mejora aún más el rendimiento. Se recomienda encarecidamente usar adaptadores de almacenamiento con caché de escritura respaldada por batería. Los controladores con almacenamiento en caché de escritura en disco ofrecen compatibilidad mejorada con operaciones de escritura sincrónicas. Debido a que todos los usuarios tienen una colmena independiente, las operaciones de escritura síncrona son mucho más comunes en un servidor host de sesión de Escritorio remoto. Las colmenas del registro se guardan periódicamente en el disco mediante operaciones de escritura síncrona. Para habilitar estas optimizaciones, en la consola de administración de discos, abra el cuadro de diálogo Propiedades del disco de destino y, en la pestaña Directivas , seleccione la casilla Habilitar almacenamiento en caché de escritura en el disco y Desactivar el vaciado del búfer de caché de escritura de Windows en el dispositivo.

Configuración de red

El uso de la red para un servidor Host de Sesión RD incluye dos categorías principales:

  • El uso del tráfico de conexión del host de sesión de Escritorio remoto viene determinado casi exclusivamente por los patrones de dibujo que muestren las aplicaciones que se ejecutan dentro de las sesiones y el tráfico de E/S de los dispositivos redirigidos.

    Por ejemplo, las aplicaciones que controlan el procesamiento de texto y la entrada de datos consumen ancho de banda de aproximadamente 10 a 100 kilobits por segundo, mientras que los gráficos enriquecidos y la reproducción de vídeo provocan aumentos significativos en el uso del ancho de banda.

  • Conexiones de fondo, como perfiles de itinerancia, acceso de aplicaciones a recursos compartidos de archivos, servidores de bases de datos, servidores de correo electrónico y servidores HTTP.

    El volumen y el perfil del tráfico de red son específicos de cada implementación.

Optimización de aplicaciones para el host de sesión de Escritorio remoto

La mayoría del uso de CPU en un servidor de host de sesión de RD se debe a las aplicaciones. Las aplicaciones de escritorio suelen optimizarse hacia la capacidad de respuesta con el objetivo de minimizar el tiempo que tarda una aplicación en responder a una solicitud de usuario. Sin embargo, en un entorno de servidor, es igualmente importante minimizar la cantidad total de uso de CPU necesaria para completar una acción para evitar que afecte negativamente a otras sesiones.

Tenga en cuenta las siguientes sugerencias al configurar las aplicaciones que se van a usar en un servidor host de sesión de Escritorio remoto:

  • Minimizar el procesamiento de bucles inactivos en segundo plano

    Los ejemplos típicos son deshabilitar la gramática en segundo plano y la revisión ortográfica, la indexación de datos para la búsqueda y los guardados en segundo plano.

  • Minimice la frecuencia con la que una aplicación realiza una comprobación de estado o una actualización.

    Deshabilitar estas funcionalidades o aumentar el intervalo entre las iteraciones de sondeo y la activación del temporizador beneficia significativamente el uso de la CPU, ya que el efecto de estas acciones se amplifica rápidamente en muchas sesiones activas. Algunos ejemplos típicos son los iconos de estado de conexión y las actualizaciones de información de la barra de estado.

  • Minimice la contención de recursos entre aplicaciones mediante la reducción de su frecuencia de sincronización.

    Algunos ejemplos de estos recursos incluyen claves del Registro y archivos de configuración. Algunos ejemplos de componentes y características de la aplicación son el indicador de estado (como las notificaciones del shell), la indexación en segundo plano o la supervisión de cambios y la sincronización sin conexión.

  • Deshabilite los procesos innecesarios registrados para iniciarse con el inicio de sesión del usuario o con un inicio de sesión.

    Estos procesos pueden contribuir significativamente al costo del uso de CPU al crear una nueva sesión de usuario, que generalmente es un proceso intensivo de CPU y puede ser muy costoso en escenarios de la mañana. Use MsConfig.exe o MsInfo32.exe para obtener una lista de procesos que se inician en el inicio de sesión del usuario. Para obtener información más detallada, puedes usar Autoruns for Windows.

Para el consumo de memoria, debe tener en cuenta lo siguiente:

  • Compruebe que los archivos DLL cargados por una aplicación no se reubican.

    • Los archivos DLL reubicados se pueden comprobar seleccionando la vista Dll de proceso, como se muestra en la ilustración siguiente, mediante el Explorador de procesos.

    • Aquí podemos ver que y.dll se ha reubicado porque x.dll ya ocuparon su dirección base predeterminada y ASLR no estaba habilitado

      dlls reubicados

      Si se reubican archivos DLL, es imposible compartir su código entre sesiones, lo que aumenta significativamente el consumo de recursos de una sesión. Se trata de uno de los problemas de rendimiento más comunes relacionados con la memoria en un servidor Host de sesión de RD.

  • En el caso de las aplicaciones de Common Language Runtime (CLR), use Native Image Generator (Ngen.exe) para aumentar el uso compartido de páginas y reducir la sobrecarga de CPU.

    Cuando sea posible, aplique técnicas similares a otros motores de ejecución similares.

Parámetros de ajuste del host de sesión de Escritorio remoto

Archivo de página

El tamaño de archivo de página insuficiente puede provocar errores de asignación de memoria en aplicaciones o componentes del sistema. Puede usar el contador de rendimiento de bytes de memoria a confirmar para supervisar la cantidad de memoria virtual confirmada en el sistema.

Antivirus

La instalación de software antivirus en un servidor host de sesión de Escritorio remoto afecta considerablemente al rendimiento general del sistema, especialmente al uso de CPU. Se recomienda excluir de la lista de supervisión activa todas las carpetas que contienen archivos temporales, especialmente aquellos que generan servicios y otros componentes del sistema.

Programador de tareas

El Programador de tareas permite examinar la lista de tareas programadas para diferentes eventos. Para un servidor de host de sesión RD, es útil centrarse específicamente en las tareas configuradas para ejecutarse cuando están inactivas, al inicio de sesión del usuario o al conectar y desconectar la sesión. Debido a los detalles de la implementación, muchas de estas tareas podrían ser innecesarias.

Iconos de notificación de escritorio

Los iconos de notificación en el escritorio pueden tener mecanismos de actualización bastante costosos. Debe deshabilitar las notificaciones quitando el componente que los registra de la lista de inicio o cambiando la configuración en aplicaciones y componentes del sistema para deshabilitarlas. Puede usar Personalizar iconos de notificaciones para examinar la lista de notificaciones que están disponibles en el servidor.

Compresión de datos del protocolo de Escritorio remoto

La compresión del Protocolo de Escritorio Remoto se puede configurar mediante la Directiva de Grupo en Configuración del equipo>Plantillas administrativas>Componentes de Windows>Servicios de Escritorio Remoto>Host de Sesión de Escritorio Remoto>Entorno de Sesión Remota>Configurar la compresión para los datos de RemoteFX. Tres valores son posibles:

  • Optimizado para usar menos memoria Consume la menor cantidad de memoria por sesión, pero tiene la relación de compresión más baja y, por tanto, el consumo de ancho de banda más alto.

  • Equilibra la memoria y el ancho de banda de red Menor consumo de ancho de banda, mientras que aumenta el consumo de memoria marginalmente (aproximadamente 200 KB por sesión).

  • Optimizado para usar menos ancho de banda de red Reduce aún más el uso del ancho de banda de red a un costo de aproximadamente 2 MB por sesión. Si desea usar esta configuración, debe evaluar el número máximo de sesiones y probar a ese nivel con esta configuración antes de colocar el servidor en producción.

También puede optar por no usar un algoritmo de compresión de protocolo de escritorio remoto, por lo que solo se recomienda usarlo con un dispositivo de hardware diseñado para optimizar el tráfico de red. Incluso si decide no usar un algoritmo de compresión, algunos datos gráficos se comprimirán.

Redireccionamiento de dispositivos

El redireccionamiento de dispositivos se puede configurar mediante la directiva de grupo en Configuración del equipo>Plantillas administrativas>Componentes de Windows>Servicios de Escritorio remoto>Host de sesión de Escritorio remoto>Redirección de dispositivo o recurso o mediante el cuadro de propiedades Colección de sesiones de Administrador del servidor.

Por lo general, el redireccionamiento de dispositivos aumenta el ancho de banda de red que usan las conexiones del servidor host de sesión de Escritorio remoto porque los datos se intercambian entre los dispositivos de los equipos cliente y los procesos que se ejecutan en la sesión del servidor. La extensión del aumento es una función de la frecuencia de las operaciones que realizan las aplicaciones que se ejecutan en el servidor en los dispositivos redirigidos.

La redirección de impresoras y la redirección de dispositivos Plug and Play también aumenta el uso de la CPU en el inicio de sesión. Puede redirigir impresoras de dos maneras:

  • Redirección basada en un controlador de impresora coincidente cuando se debe instalar un controlador para la impresora en el servidor. Las versiones anteriores de Windows Server usaban este método.

  • Introducido en Windows Server 2008, el redireccionamiento del controlador de impresora Easy Print usa un controlador de impresora común para todas las impresoras.

Se recomienda el método Easy Print porque provoca menos uso de CPU para la instalación de la impresora en el momento de la conexión. El método de controlador coincidente provoca un mayor uso de CPU porque requiere que el servicio de colas cargue otros controladores. Para el uso de ancho de banda, Easy Print provoca un uso de ancho de banda de red ligeramente mayor, pero no lo suficientemente significativo como para compensar el otro rendimiento, capacidad de administración y ventajas de confiabilidad.

El redireccionamiento de audio provoca un flujo constante de tráfico de red. El redireccionamiento de audio también permite a los usuarios ejecutar aplicaciones multimedia que normalmente tienen un consumo elevado de CPU.

Configuración de la experiencia del cliente

De forma predeterminada, conexión a Escritorio remoto (RDC) elige automáticamente la configuración de experiencia adecuada en función de la idoneidad de la conexión de red entre los equipos cliente y el servidor. Se recomienda que la configuración de RDC permanezca en Detectar la calidad de conexión automáticamente.

Para los usuarios avanzados, RDC proporciona control sobre una variedad de configuraciones que influyen en el rendimiento del ancho de banda de red para la conexión de Servicios de Escritorio remoto. Puede acceder a la siguiente configuración mediante la pestaña Experiencia en Conexión a Escritorio remoto o como configuración en el archivo RDP.

La siguiente configuración se aplica al conectarse a cualquier equipo:

  • Deshabilitar fondo de pantalla (Deshabilitar fondo de pantalla :i:0) No muestra el fondo de pantalla de escritorio en conexiones redirigidas. Esta configuración puede reducir significativamente el uso del ancho de banda si el fondo de pantalla de escritorio consta de una imagen u otro contenido con costos significativos para dibujar.

  • Bitmap cache (Bitmapcachepersistenable:i:1) Cuando esta configuración está habilitada, crea una memoria caché del lado cliente de los mapas de bits que se representan en la sesión. Proporciona una mejora significativa en el uso del ancho de banda y siempre debe habilitarse (a menos que haya otras consideraciones de seguridad).

  • Mostrar el contenido de las ventanas al arrastrar (Deshabilitar arrastrar la ventana completa:i:1) Cuando esta configuración está deshabilitada, reduce el ancho de banda mostrando solo el marco de la ventana en lugar de todo el contenido cuando se arrastra la ventana.

  • Animación de menú y ventana (Deshabilitar menú anims:i:1 y Deshabilitar configuración del cursor:i:1): Cuando esta configuración está deshabilitada, reduce el ancho de banda deshabilitando la animación en menús (como la atenuación) y los cursores.

  • Suavizado de fuentes (Permitir suavizado de fuentes:i:0) Controla el soporte para la representación de fuentes ClearType. Al conectarse a equipos que ejecutan Windows 8 o Windows Server 2012 y versiones posteriores, habilitar o deshabilitar esta configuración no tiene un impacto significativo en el uso del ancho de banda. Sin embargo, para los equipos que ejecutan versiones anteriores a Windows 7 y Windows 2008 R2, habilitar esta configuración afecta significativamente al consumo de ancho de banda de red.

La siguiente configuración solo se aplica al conectarse a equipos que ejecutan Windows 7 y versiones anteriores del sistema operativo:

  • Composición del escritorio Esta configuración solo se admite para una sesión remota en un equipo que ejecute Windows 7 o Windows Server 2008 R2.

  • Estilos visuales (deshabilitar temas:i:1) Cuando esta configuración está deshabilitada, reduce el ancho de banda al simplificar los dibujos de temas que usan el tema clásico.

Mediante la pestaña Experiencia en Conexión a Escritorio remoto, puede elegir la velocidad de conexión para influir en el rendimiento del ancho de banda de red. A continuación se enumeran las opciones disponibles para configurar la velocidad de conexión:

  • Detectar la calidad de conexión automáticamente (tipo de conexión:i:7) Cuando esta configuración está habilitada, conexión a Escritorio remoto elige automáticamente la configuración que dará lugar a una experiencia de usuario óptima en función de la calidad de la conexión. (Esta configuración se recomienda al conectarse a equipos que ejecutan Windows 8 o Windows Server 2012 y versiones posteriores).

  • Módem (56 Kbps) (tipo de conexión:i:1) Esta configuración permite el almacenamiento en caché persistente del mapa de bits.

  • Banda ancha de baja velocidad (256 Kbps - 2 Mbps) (tipo de conexión:i:2) Esta configuración permite el almacenamiento en caché de mapa de bits persistente y los estilos visuales.

  • Móvil/Satélite (2 Mbps - 16 Mbps con alta latencia) (Tipo de conexión:i:3) Esta configuración permite la composición del escritorio, el almacenamiento en caché persistente del mapa de bits, los estilos visuales y el fondo del escritorio.

  • Banda ancha de alta velocidad (2 Mbps – 10 Mbps ) (tipo de conexión:i:4) Esta configuración permite la composición del escritorio, mostrar contenido de ventanas mientras arrastra, menú y animación de ventana, almacenamiento en caché persistente de mapa de bits, estilos visuales y fondo de escritorio.

  • WAN (10 Mbps o superior con latencia alta) (tipo de conexión:i:5) Esta configuración habilita la composición del escritorio, muestra el contenido de las ventanas mientras arrastra, menú y animación de ventana, almacenamiento en caché persistente de mapa de bits, estilos visuales y fondo de escritorio.

  • LAN (10 Mbps o superior) ( tipo de conexión:i:6) Esta configuración permite la composición del escritorio, mostrar el contenido de las ventanas mientras arrastra, menú y animación de ventana, almacenamiento en caché persistente de mapa de bits, temas y fondo de escritorio.

Tamaño del escritorio

El tamaño del escritorio para sesiones remotas se puede controlar mediante la pestaña Mostrar en Conexión a Escritorio remoto o mediante el archivo de configuración rdP (desktopwidth:i:1152 y desktopheight:i:864). Cuanto mayor sea el tamaño del escritorio, mayor será el consumo de memoria y ancho de banda asociado a esa sesión. El tamaño de escritorio máximo actual es 4096 x 2048.