Escalabilidad de un solo servidor para Citrix Virtual Apps and Desktops

Resumen

Este artículo proporciona recomendaciones y orientación para estimar cuántos usuarios o máquinas virtuales (VM) pueden ser compatibles en un único host físico. Esto se conoce comúnmente como “escalabilidad de un solo servidor” (SSS) de Citrix Virtual Apps and Desktops. En el contexto de Citrix Virtual Apps (CVA) o virtualización de sesiones, también se denomina comúnmente “densidad de usuario”. La idea es determinar cuántos usuarios o máquinas virtuales se pueden ejecutar en una sola pieza de hardware que ejecute un hipervisor importante como XenServer.

En este artículo, vamos a cubrir varias de las variables o factores que influyen en el SSS de Citrix Virtual Apps and Desktops (CVAD). A continuación, proporcionaremos recomendaciones y directrices sencillas para estimar rápidamente SSS para un entorno determinado. Concluiremos proporcionando algunos ejemplos de tamaño utilizando escenarios del mundo real.

¡Advertencia! Este artículo contiene orientaciones para estimar SSS. Cabe señalar que la orientación es de alto nivel y no necesariamente será específica de su situación o entorno único. La única manera de entender realmente CVAD SSS es utilizar una herramienta de prueba de escalabilidad o carga como Login VSI. Citrix recomienda utilizar esta guía y estas sencillas reglas para estimar rápidamente SSS. Pero Citrix recomienda usar Login VSI o la herramienta de pruebas de carga que elija para validar los resultados, especialmente antes de comprar hardware o tomar decisiones financieras.

Factores de escalabilidad

Hay muchos factores, parámetros o variables que afectan SSS. No se trata de una lista exhaustiva, pero los siguientes son algunos de los principales factores que influyen en el SSS. Aunque hay muchos más factores que influyen en el rendimiento y la escalabilidad, como antivirus y agentes de supervisión, codificación gráfica, vulnerabilidades de seguridad recientes como Spectre y L1 Terminal Fault, los factores que se detallan a continuación suelen tener el mayor impacto en CVAD SSS. Ahora vamos a echar un vistazo a cómo estimar rápidamente CVAD SSS usando una fórmula simple.

Carga de trabajo

Uno de los principales factores que afectan el rendimiento y la escalabilidad es la carga de trabajo en sí. Algunas cargas de trabajo pueden implicar a los trabajadores de tareas que realizan tareas simples de entrada de datos en un servidor CVA. Otras cargas de trabajo pueden implicar que desarrolladores compilen código o ingenieros manipulen modelos 3D a través de Citrix Virtual Desktops (CVD). Estas cargas se denominan comúnmente cargas de trabajo “ligeras” y “pesadas”, respectivamente. Y como verá más adelante en este artículo, este tipo de varianza de carga de trabajo puede tener un impacto dramático en SSS.

Hardware

El hardware físico en el que se ejecutan las cargas de trabajo tiene un impacto directo en SSS. Probablemente no hace falta decirlo, pero un servidor más nuevo equipado con 28 núcleos y 1 TB de RAM será capaz de soportar más usuarios que una pieza de hardware más antigua con solo 12 núcleos y 256 GB de RAM ejecutando una carga de trabajo similar. Y la CPU juega un papel especialmente importante cuando se trata de CVAD SSS, como verá más adelante.

Relación de actividad

Uno de los aspectos que a menudo se pasan por alto de SSS es la relación de actividad o la frecuencia con la que los usuarios trabajan frente a inactivos. Muchas herramientas de prueba de escalabilidad adoptan un enfoque conservador y podrían utilizar una relación de actividad bastante alta como el 80% (lo que efectivamente significa que los usuarios están activos o trabajando el 80% del tiempo y el 20% del tiempo inactivo). Sin embargo, a menudo vemos en el mundo real que las relaciones de actividad están más cerca del 40-60%. Además, este tiempo de inactividad adicional puede afectar drásticamente al SSS y la cantidad de hardware que se necesita adquirir para admitir un entorno CVAD.

Ratio de sobresuscripción de CPU

La mayoría de las cargas de trabajo CVAD están vinculadas a la CPU, lo que significa que el punto final de agotamiento de recursos está directamente relacionado con el número de núcleos físicos disponibles en el sistema. Y dado que los usuarios pueden no estar activos el 100% del tiempo y tenemos herramientas como Intel Hyper Threading disponibles (por no hablar de los programadores de CPU del hipervisor son cada vez más eficientes), a menudo podemos “sobrecomprometer” o sobresuscribir recursos como CPU. Y la relación que uno sobrescribe a la CPU también puede afectar SSS (de una manera positiva o negativa si no se hace con cuidado). Citrix ha descubierto que una relación de sobresuscripción de CPU 2:1 suele ser óptima cuando se trata de CVA SSS. Por ejemplo, si un servidor físico está equipado con chips de 20 núcleos de doble socket (es decir, “2 x 20”), hay 40 núcleos físicos disponibles en total. Y con Hyper Threading habilitado, habría 80 núcleos virtuales o lógicos disponibles. Aplicando una relación 2:1 al número de núcleos físicos (40), recomendamos utilizar efectivamente 80 núcleos al dimensionar o estimar SSS. Al final de este artículo se proporcionarán más ejemplos para ilustrar este concepto con más detalle.

Arquitectura y funciones del microprocesador

El chip subyacente y la arquitectura de memoria también pueden desempeñar un papel importante en SSS. E Intel ha realizado recientemente mejoras significativas en lo que se refiere al diseño de la arquitectura de microprocesador subyacente. En chips antiguos, como Broadwell y Haswell, Intel conectó procesadores utilizando una arquitectura basada en anillos. Pero a medida que aumentaba el número de núcleos, la latencia de acceso aumentó y el ancho de banda por núcleo disminuyó, de modo que Intel mitigaría esto al dividir el chip en dos mitades y agregar un segundo anillo para reducir las distancias. Y esta división invisible era algo que había que tener en cuenta en CVAD SSS para proporcionar resultados óptimos. Esto se ha referido en el pasado como “NUMA” o Acceso a la memoria no uniforme. Y la guía principal fue asegurarse de que está dimensionando las VM CVA lo más grande posible, pero no cruzando nodos NUMA, clústeres sub-NUMA o anillos al mismo tiempo. Si el tamaño de las VM CVA es demasiado grande y se extiende efectivamente a nodos o anillos NUMA, podría provocar que NUMA “golpee” al acceder a recursos no locales y esto produciría un SSS reducido. Avance rápido hasta la actualidad e Intel ha pasado de una arquitectura basada en anillos a una arquitectura basada en malla. Y esta nueva arquitectura de malla introducida en Skylake no tiene las mismas limitaciones que antes, donde tenemos que dividir chips, dividir núcleos o agregar anillos. Y esto cambia la forma en que dimensionamos los servidores CVA en particular. Por lo tanto, es muy importante comprender el chip específico que se utiliza en el hardware que compra y cómo se diseña y construye la arquitectura de microprocesador subyacente.

Los multiplicadores mágicos

Si desea calibrar o estimar rápidamente CVAD SSS, esta guía es bastante eficaz. Es tan fácil como esto: Tome el número de núcleos físicos en un servidor, multiplique por 5 o 10, y el resultado será su SSS. Si está buscando el número de máquinas virtuales CVD que puede admitir, entonces usaría el “multiplicador mágico” de 5. Si intenta comprender cuántos usuarios de CVA pueden ejecutar en una sola pieza de hardware, usaría 10. Echemos un vistazo a algunos ejemplos del mundo real para ver cómo se aplica esto en la práctica.

Ejemplo 1: Citrix Virtual Desktops

Supongamos que está ejecutando Windows 10 con aplicaciones estándar de Office y algunas aplicaciones personalizadas. Ha identificado que una especificación de máquina virtual de 2 vCPU / 4 GB de RAM funcionaría mejor teniendo en cuenta la carga de trabajo/imagen. Está considerando comprar blades Cisco con 36 núcleos físicos (2x18) y 768 GB de RAM. Y te gustaría entender qué tipo de densidad puedes esperar. Vamos a utilizar la Regla de 5 para CVD:

5 x 36 = 180 VM por host

Ejemplo 2: Citrix Virtual Apps (hardware antiguo)

Supongamos que está ejecutando una aplicación como SAP en Windows Server 2012 R2 a través de CVA. Está reutilizando algunos blades HP antiguos con 24 núcleos físicos (2x12) y 256 GB de RAM. Ha investigado en el sitio web de Intel que el chip subyacente emplea una arquitectura de búfer de anillo y cada socket se divide efectivamente en 2 nodos NUMA con 6 núcleos cada uno. Por lo tanto, la especificación de una máquina virtual con 6 vCPU / 24 GB de RAM parece óptima para maximizar la escalabilidad lineal y minimizar las sacudidas NUMA. Con una relación de sobresuscripción de CPU 2:1, utilizará los 48 núcleos lógicos e implementará 8 servidores XenApp en cada host (48 / 6 = 8). Utilización de la Regla de 10 para CVA:

10 x 24 = 240 usuarios por host

Ejemplo 3: Citrix Virtual Apps (hardware más reciente)

Supongamos que está ejecutando una aplicación médica popular en Windows Server 2016 a través de CVA. Está considerando adquirir blades Dell con 32 núcleos físicos (2x16) y 256 GB de RAM. Ha investigado en el sitio web de Intel que el chip subyacente emplea una arquitectura de malla y existe una directiva empresarial para reducir el tamaño de su máquina virtual en la medida de lo posible. Usted decide sobre la especificación de una máquina virtual con 16 vCPU / 48 GB de RAM. Con una relación de sobresuscripción de CPU 2:1, utilizará los 64 núcleos lógicos e implementará 4 servidores XenApp en cada host (64 / 16 = 4). Utilización de la Regla de 10 para CVA:

10 x 32 = 320 usuarios por host

Como se mencionó anteriormente, nos damos cuenta de que hay muchas más variables o parámetros que influyen en la escalabilidad frente a la cantidad de núcleos físicos en un servidor. Y puede haber ciertas situaciones en las que la carga de trabajo de CVAD en realidad no está vinculada a la CPU, por lo que se requiere un cuidado extra al dimensionar. Además, otros factores que no hemos discutido, como la velocidad del reloj de CPU y las tormentas de inicio de sesión, también importan y complican aún más los ejercicios de dimensionamiento. Pero hemos descubierto a través de años de experiencia en el campo y cientos de implementaciones que nada importa tanto como el número de núcleos físicos. Si desea comprender su SSS exacto para su carga de trabajo particular y entorno único, Citrix recomienda encarecidamente utilizar una herramienta como Login VSI para probar o validar correctamente los resultados.

Referencias

Descripción técnica de la familia escalable de procesadores Intel Xeon

Prácticas recomendadas de antivirus

Prueba de carga de VSI de inicio de sesión

Colaboradores

Autor: Nick Rintalan

Escalabilidad de un solo servidor para Citrix Virtual Apps and Desktops