Conceptos avanzados

Tamaño y escalado de la caché de host local

NOTA:

Este artículo proporciona recomendaciones de tamaño y escalado para implementaciones de XenApp y XenDesktop que utilizan la caché de host local (LHC). Para obtener recomendaciones de tamaño y escalado para Citrix DaaS, consulte Consideraciones de tamaño y escalado para Cloud Connectors.

LHC proporciona alta disponibilidad al permitir que la intermediación de conexiones continúe durante una interrupción. Los usuarios de LHC deben tener en cuenta las siguientes consideraciones de diseño:

  • Durante una interrupción, un único broker por zona gestionará los registros de Virtual Delivery Agent (VDA) y las sesiones de broker.
  • Un proceso de elección, que decide qué broker estará activo, no tiene en cuenta los recursos del broker.
  • Si un único broker en una zona no puede gestionar todos los inicios de sesión durante el funcionamiento normal, entonces no funcionará bien en modo de interrupción.
  • No hay gestión del sitio disponible durante una interrupción.
  • Un SQL Server de alta disponibilidad sigue siendo el diseño recomendado.
  • Para escenarios de conectividad intermitente de la base de datos, sigue siendo mejor aislar el SQL Server y dejar el sitio en modo de interrupción hasta que se solucionen todos los problemas subyacentes.
  • Hay un límite de 10.000 VDA por zona.
  • Los escritorios agrupados no son compatibles en modo de interrupción, en la configuración predeterminada.

Arquitectura

LHC utiliza una base de datos local de SQL Server que es más eficiente que el arrendamiento de conexiones en el uso del espacio en disco, pero requiere considerablemente más CPU y memoria. LHC tiene fases de sincronización en las que los detalles de la base de datos principal del sitio se sincronizan con los brokers (Controladores). LHC utiliza una base de datos SQL que aún requiere IOPS y tiene la ventaja de que SQL optimiza estas escrituras.

LHC emplea un único broker que es elegido para intermediar todas las conexiones y gestionar los registros de VDA. Todos los VDA del sitio se volverán a registrar con este único broker, que entonces experimentará una mayor demanda de recursos (en comparación con un sitio con múltiples brokers en funcionamiento normal), especialmente en sitios con un gran número de VDA.

LHC utiliza Microsoft LocalDB, que aparece en el Administrador de tareas como el proceso sqlserver.exe. Se ha configurado para usar hasta 1 GB de memoria para el almacenamiento en caché del grupo de búferes de la base de datos. Sin embargo, el proceso crecerá más allá de esto, ya que el motor SQL necesita memoria para sí mismo y para otras cachés más pequeñas. En general, cuanto más larga sea la interrupción y más recursos se accedan durante el modo de interrupción, más aumentará el uso de memoria de LocalDB. Sin embargo, cuando se restaura la conectividad de la base de datos del sitio, sqlserver.exe retendrá esta memoria y no la devolverá inmediatamente al grupo principal.

Efecto de los sockets y núcleos de CPU durante el modo de interrupción

LHC utiliza una versión en tiempo de ejecución de SQL Server llamada LocalDB que tiene una licencia específica que la limita al menor de cuatro núcleos o los de un único socket. Esto puede tener un efecto significativo en el rendimiento cuando la máquina física o virtual se ha configurado con varios sockets con solo uno o dos núcleos. Una máquina de agente con cuatro sockets y un núcleo por socket limitará LocalDB a usar un único núcleo, mientras que la misma VM configurada como una máquina de 1 socket y 4 núcleos significa que LocalDB puede acceder a los cuatro núcleos (aunque compartiéndolos con otros procesos). Durante el modo de interrupción, LocalDB ejecutará el mismo código de agente y SQL que durante el funcionamiento normal. Muchas de las consultas SQL pueden consumir mucha CPU y tener un impacto directo en el rendimiento del agente durante el modo de interrupción. Para obtener más detalles, consulte Consideraciones de tamaño y escala para conectores en la nube y también Límites de capacidad de cómputo por edición de SQL Server.

Otros factores incluyen la propia configuración del sitio, como los siguientes:

  • El número de aplicaciones publicadas
  • El número de usuarios gestionados por el agente
  • La velocidad a la que los usuarios intentan iniciar sesiones
  • Rendimiento de Active Directory

A medida que la utilización total de la CPU del agente se acerque al 100%, el tiempo de respuesta del agente aumentará, los inicios de sesión tardarán más en procesarse y algunos intentos de inicio de sesión pueden fallar.

Sitios con varios agentes

Durante el modo de interrupción del sitio, solo un único agente procesa las solicitudes de registro e inicio de sesión. En un sitio con varios agentes, se lleva a cabo un proceso de elección para nombrar al agente que estará activo durante la interrupción. Sin embargo, este proceso de elección no considera los recursos físicos disponibles para los agentes. Esto significa que en un sitio donde los agentes tienen diferentes cantidades de recursos, el agente elegido no será necesariamente el más potente en términos de CPU o RAM, lo que podría conducir a un rendimiento deficiente durante el modo de interrupción. Es importante que cada agente cumpla con los requisitos adicionales de LHC, en caso de que sea elegido.

Sincronización con la base de datos del sitio

El servicio CitrixConfigSync se encarga de importar datos de la base de datos del sitio a una copia local en los agentes. Supervisa la base de datos del sitio en busca de cambios en la configuración del sitio y activa una nueva importación cuando se producen cambios. Se realiza una copia de la base de datos local actual antes de que comience la importación. Cuanto mayor sea el número de recursos (como VDA) en un sitio, más tiempo tardará la importación, pero debería ser inferior a diez minutos para un sitio con 10 000 VDA.

Ubicación de la base de datos

La base de datos local se almacena en:

C:\Windows\ServiceProfiles\NetworkService\HaDatabaseName.mdf

Para garantizar la fiabilidad, el servicio CitrixConfigSync realiza una copia de seguridad de la importación de la base de datos sincronizada correctamente anterior, antes de iniciar una nueva sincronización de la base de datos del sitio. Si por alguna razón la sincronización no se completa correctamente, se utiliza la copia de seguridad hasta que se complete una sincronización correcta. No debe copiar la base de datos manualmente.

Especificaciones técnicas de la caché de host local

Arquitectura Especificación
Espacio en disco Depende de la configuración del sitio. Para 1000 hosts RDS + 9500 VDI con 65 K usuarios, se utilizan 75 MB.
RAM 3 GB, ~1 GB para SQL Server, 2 GB para el servicio de alta disponibilidad y el servicio CitrixConfigSync.
Tiempo para sincronizar la configuración 10 000 VDA: ~ 7 minutos
Tiempo de activación durante una interrupción Depende del número de VDA y de la última sincronización de registro con el broker. Solo un único broker estará disponible para el registro de VDA durante el modo de interrupción, por lo que para un gran número de VDA pueden pasar muchos minutos antes de que todos los VDA estén registrados.
Tiempo para restaurar las operaciones normales Como se indicó anteriormente, los VDA deberán anular su registro del broker secundario y volver a registrarse con el broker principal.
Número de VDA admitidos 10 000. Un sitio puede tener más que esto, pero el tiempo necesario para sincronizar la base de datos del sitio aumentará con el número de VDA. El rendimiento de un único agente con un gran número de VDA podría provocar que algunas conexiones no se gestionen durante la interrupción.
Administración del sitio durante la interrupción No

Habilitar o inhabilitar la caché de host local

LHC se puede habilitar o inhabilitar según sea necesario.

Set-BrokerSite –LocalHostCacheEnabled $True $False

Limitaciones

Los escritorios deben haberse asignado antes de que puedan usarse en modo de interrupción. Los escritorios no asignados no estarán disponibles para la intermediación. Esto puede provocar que los escritorios no estén disponibles y notifiquen que están “en modo de mantenimiento” si se produce una interrupción antes de que se hayan sincronizado todas las asignaciones, a pesar de que un usuario haya asignado realmente un escritorio.

Los escritorios agrupados no se admiten en modo de interrupción, en la configuración predeterminada. Existe una solución alternativa, pero tiene posibles implicaciones de seguridad y rendimiento. Si configura un grupo de entrega que contiene escritorios agrupados para que no se reinicien al cerrar sesión, cualquier escritorio agrupado encendido de ese grupo estará disponible en modo de interrupción. Sin embargo, después de que un usuario cierre sesión, el escritorio no estará en un estado limpio porque el escritorio no se reinicia. Esto podría ser un problema de seguridad en cualquier escenario. Si el siguiente usuario de ese escritorio es un administrador local de ese escritorio, los datos de un usuario anterior podrían ser accesibles. Y aunque ese riesgo es menos preocupante para los usuarios estándar (no administradores), tenga en cuenta que las aplicaciones podrían comportarse de forma incorrecta y causar problemas de rendimiento con el tiempo. Importante: Los administradores deben considerar cuidadosamente las posibles implicaciones de usar esta solución alternativa para usar escritorios agrupados no reiniciados en modo de interrupción.

Durante una interrupción, no se pueden realizar cambios en el sitio; la base de datos es efectivamente una instantánea de la base de datos principal del sitio y se descarta cada vez que se produce una nueva sincronización.

Tamaño de la base de datos

Para la configuración de 10 000 VDI (es decir, 10 000 escritorios VDI de sesión única), la LocalDB era de unos 75 MB. Para la configuración de 100 000 RDS (es decir, 100 000 usuarios), la LocalDB varió entre 100 y 300 MB, según el número de aplicaciones e inicios de sesión. Como se toma una copia de la base de datos antes de que comience una nueva importación, asigne 1 GB de espacio para LocalDB.

Consideraciones sobre el tamaño de usuario

Si bien 10 000 VDA es el máximo por zona, dado que las sesiones contribuirán a la carga del agente elegido durante la interrupción, Citrix recomienda que también considere las sesiones máximas por zona. La densidad de sesión entra en juego al usar VDA multisesión, ya que se pueden iniciar varias sesiones en un solo VDA.

Durante una interrupción, el pico recomendado es de 25 000 usuarios por zona, lo que puede alcanzar entre 1000 y 2000 lanzamientos de recursos por minuto si se dimensiona correctamente.

Los lanzamientos de aplicaciones se tratan de forma similar a los lanzamientos de escritorios. Se aplican las mismas recomendaciones para ambos; sin embargo, Citrix recomienda que también tenga en cuenta la tasa de lanzamiento. Un solo usuario puede lanzar varias aplicaciones, lo que aumenta la carga por usuario en el broker durante una interrupción.

Al calcular la capacidad de la aplicación, tenga en cuenta el número promedio de aplicaciones lanzadas por usuario y manténgalo dentro de la misma recomendación de 25 000 por zona.

Resumen

Durante una interrupción de la base de datos del sitio, LHC admite una amplia gama de recursos y condiciones, pero requiere planificación y consideración de la CPU y la memoria durante su funcionamiento.

En sitios con varios brokers, cualquier broker puede ser elegido como broker de interrupción y, por lo tanto, todos deben tener recursos suficientes para funcionar en modo de interrupción. No se realiza ninguna evaluación de los recursos del broker, por lo que en un sitio con brokers que tienen diferentes cantidades de recursos, es posible que el broker menos potente sea elegido durante una interrupción.

La disposición de los núcleos y los sockets debe considerarse como parte del diseño de los brokers.

El número de aplicaciones y escritorios publicados afectará a los tiempos de respuesta de inicio de sesión y al rendimiento máximo de inicio de sesión.

Los brokers con recursos de CPU insuficientes pueden experimentar lanzamientos fallidos.

Citrix recomienda que defina sus exclusiones de antivirus. Para obtener más información, consulte Documento técnico: Prácticas recomendadas de seguridad de puntos finales, antivirus y antimalware.

Dos núcleos adicionales y 2 GB de RAM son un buen punto de partida para probar el rendimiento en el modo de interrupción de LHC.

1 GB de espacio en disco será suficiente para la base de datos LocalDB.

Un broker sobrecargado provocará conexiones fallidas.