Conceptos avanzados

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

NOTA:

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

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

  • Durante una interrupción, un único bróker por zona se encargará de los registros del Virtual Delivery Agent (VDA) y de las sesiones de intermediación.
  • Un proceso electoral, que decide qué intermediario estará activo, no tiene en cuenta los recursos del intermediario.
  • Si algún bróker de una zona no puede gestionar todos los inicios de sesión durante el funcionamiento normal, no funcionará bien en el modo de interrupción.
  • La administración del sitio no está disponible durante una interrupción.
  • El diseño recomendado sigue siendo un SQL Server de alta disponibilidad.
  • Para los casos de conectividad de bases de datos intermitentes, aún es mejor aislar el SQL Server y dejar el sitio en modo de interrupción de servicio hasta que se solucionen todos los problemas subyacentes.
  • Hay un límite de 10 000 VDA por zona.
  • Los escritorios agrupados no se admiten en el modo de interrupción, en la configuración predeterminada.

Arquitectura

El 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 una cantidad considerablemente mayor de CPU y memoria. La LHC tiene fases de sincronización en las que los detalles de la base de datos del sitio principal se sincronizan con los intermediarios (controladores). El LHC utiliza una base de datos SQL que aún requiere IOPS y tiene la ventaja de que SQL optimiza estas escrituras.

LHC emplea a un único agente que es elegido para negociar todas las conexiones y gestionar los registros de VDA. Todos los VDA del sitio volverán a registrarse en este único intermediario, que luego experimentará una mayor demanda de recursos (en comparación con un sitio con varios intermediarios en funcionamiento normal), especialmente en los sitios con un gran número de VDA.

El LHC usa 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úfer 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 a más recursos se acceda durante el modo de interrupción, mayor será el uso de la 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 núcleos y sockets de la CPU durante el modo de interrupción

LHC usa 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 los cuatro núcleos o a un solo 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 un solo núcleo o doble núcleo. Una máquina intermediaria con cuatro sockets y un núcleo por socket limitará a LocalDB a usar un solo núcleo, mientras que la misma máquina virtual configurada como una máquina de 1 socket y 4 núcleos significa que LocalDB puede acceder a los cuatro núcleos (aunque los comparta con otros procesos). Durante el modo de interrupción, LocalDB ejecutará el mismo agente y código SQL que durante el funcionamiento normal. Muchas de las consultas de SQL pueden consumir un uso intensivo de la CPU y tener un impacto directo en el rendimiento de la intermediación durante el modo de interrupción. Para obtener más información, consulte Consideraciones de tamaño y escala para los conectores de nube y también Calcule los límites de capacidad por edición de SQL Server.

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

  • El número de solicitudes publicadas
  • El número de usuarios que se negocian
  • 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 acerca al 100%, el tiempo de respuesta de intermediación 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 intermediarios

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

Sincronización con la base de datos

El servicio CitrixConfigSync se encarga de la importación de datos de la base de datos del sitio a una copia local de 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 crea 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 los VDA) de un sitio, más tardará la importación, pero debería ser menos de diez minutos para un sitio con 10,000 VDA.

Ubicación 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 base de datos sincronizada anteriormente correcta, 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, la copia de seguridad se utilizará hasta que se complete correctamente. 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 000 usuarios, se utilizan 75 MB.
RAM 3 GB, ~1 GB para SQL Server, 2 GB para High Availability Service y CitrixConfigSync Service.
Hora de sincronizar la configuración 10 000 VDA: ~ 7 minutos
Tiempo de activación durante la interrupción Depende del número de VDA y de la última sincronización de registro con el agente. Solo un agente estará disponible para el registro de los VDA durante el modo de interrupción, por lo que para una gran cantidad de VDA pueden pasar muchos minutos antes de que se registren todos los VDA.
Tiempo para restablecer las operaciones normales Como en el caso anterior, los VDA deberán darse de baja del bróker secundario y volver a registrarse con el broker principal.
Número de agentes 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 la cantidad de VDA. El rendimiento de un único agente con una gran cantidad de VDA puede provocar que algunas conexiones no se negocien durante la interrupción.
Administración del sitio durante la interrupción No

Habilitar o inhabilitar la caché de host local

El LHC se puede activar o desactivar según sea necesario.

Set-BrokerSite —LocalHostCacheEnabled $True $False

Limitaciones

Los escritorios deben haberse asignado antes de poder usarlos en modo de interrupción. Los escritorios sin asignar no estarán disponibles para la intermediación. Esto puede provocar que los escritorios no estén disponibles y que aparezcan “en modo de mantenimiento” si se produce una interrupción del servicio antes de que se hayan sincronizado todas las asignaciones, a pesar de que al usuario se le haya asignado un escritorio.

Los escritorios agrupados no se admiten en el modo de interrupción, en la configuración predeterminada. Hay una solución alternativa, pero tiene posibles implicaciones para la seguridad y el rendimiento. Si configura un grupo de entrega que contiene escritorios agrupados para que no se reinicie 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 la sesión, el escritorio no estará limpio porque no se ha reiniciado. Esto podría ser un problema de seguridad en cualquier caso. Si el siguiente usuario de ese escritorio es un administrador local de ese escritorio, es posible que se pueda acceder a los datos de un usuario anterior. Y aunque ese riesgo no es motivo de preocupación para los usuarios estándar (no administradores), tenga en cuenta que las aplicaciones podrían comportarse de manera incorrecta y provocar problemas de rendimiento con el tiempo. Importante: Los administradores deben considerar detenidamente las posibles implicaciones del uso de 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, en efecto, una instantánea de la base de datos del sitio principal y se descarta cada vez que se produce una nueva sincronización.

Tamaño base de datos

Para la configuración de 10 000 VDI (es decir, 10 000 escritorios VDI de sesión única), LocalDB rondaba los 75 MB. Para la configuración de 100 000 RDS (es decir, 100 000 usuarios), LocalDB varió entre 100 y 300 MB, según la cantidad 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, deje 1 GB de espacio para LocalDB.

Consideraciones sobre el tamaño

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 tener en cuenta también los picos de sesiones por zona. La densidad de sesiones entra en juego cuando se utilizan 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 llegar a alcanzar entre 1000 y 2000 lanzamientos de recursos por minuto si se tiene el tamaño adecuado.

Los lanzamientos de aplicaciones se tratan de forma similar a los lanzamientos de escritorio Las mismas recomendaciones se aplican a ambos; sin embargo, Citrix recomienda que también tenga en cuenta la velocidad de lanzamiento. Un solo usuario puede lanzar varias aplicaciones, lo que aumenta la carga efectuada por usuario en el intermediario durante la interrupción del servicio.

Al calcular la capacidad de las aplicaciones, tenga en cuenta la cantidad promedio de aplicaciones lanzadas por usuario y manténgala dentro de la misma recomendación de 25 000 por zona.

Resumen

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

En varios sitios de agentes, cualquier agente puede ser elegido como agente de interrupciones y, por lo tanto, todos deben tener recursos suficientes para hacer frente al modo de interrupción. No se evalúan los recursos de los intermediarios, por lo que en un sitio con intermediarios que tienen diferentes cantidades de recursos, es posible que el intermediario 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 intermediarios.

La cantidad 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 intermediarios con recursos de CPU insuficientes pueden experimentar lanzamientos fallidos.

Citrix recomienda que defina las exclusiones de antivirus. Para obtener más información, consulte el documento técnico: Mejores prácticas de seguridad, antivirus y antimalware para terminales.

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 del LHC.

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

Un agente sobrecargado provocará conexiones fallidas.