Évolutivité Citrix Virtual Apps and Desktops pour un seul serveur

Généralités

Cet article fournit des recommandations et des conseils pour estimer le nombre d’utilisateurs ou de machines virtuelles (VM) pouvant être pris en charge sur un seul hôte physique. Ceci est communément appelé Citrix Virtual Apps and Desktops « évolutivité à serveur unique » (SSS). Dans le contexte de Citrix Virtual Apps (CVA) ou de la virtualisation de session, il est également communément appelé « densité utilisateur ». L’idée est de déterminer combien d’utilisateurs ou de machines virtuelles peuvent être exécutés sur un seul morceau de matériel exécutant un hyperviseur majeur tel qu’un Citrix Hypervisor.

Dans cet article, nous couvrons plusieurs variables ou facteurs qui influencent Citrix Virtual Apps and Desktops (CVAD) SSS. Nous fournissons des recommandations et des directives simples pour estimer rapidement le SSS pour un environnement donné. Nous concluons en fournissant quelques exemples de dimensionnement utilisant des scénarios du monde réel.

Avertissement ! Cet article contient des conseils pour estimer les SSS. Il convient de noter que les directives sont de haut niveau et ne seront pas nécessairement spécifiques à votre situation ou à votre environnement unique. La seule façon de vraiment comprendre CVAD SSS est d’utiliser un outil d’évolutivité ou de test de charge tel que Login VSI. Citrix recommande d’utiliser ces instructions et ces règles simples pour estimer rapidement SSS. Mais Citrix recommande d’utiliser Login VSI ou l’outil de test de charge de votre choix pour valider les résultats, surtout avant d’acheter du matériel ou de prendre des décisions financières.

Facteurs d’évolutivité

Il existe de nombreux facteurs, paramètres ou variables qui ont une incidence sur SSS. Il ne s’agit en aucun cas d’une liste exhaustive, mais voici plusieurs des principaux facteurs qui ont une incidence sur le SSS. Bien qu’il existe de nombreux autres facteurs qui influent sur les performances et l’évolutivité, tels que les antivirus et les agents de surveillance, le codage graphique, les vulnérabilités de sécurité récentes telles que Spectre et L1 Terminal Fault, les facteurs décrits ci-dessous ont généralement le plus grand impact sur CVAD SSS. Voyons maintenant comment estimer rapidement CVAD SSS en utilisant une formule simple.

Charge de travail

L’un des principaux facteurs qui influent sur les performances et l’évolutivité est la charge de travail elle-même. Certaines charges de travail peuvent impliquer des agents de tâche qui effectuent des tâches simples de saisie de données sur un serveur CVA. D’autres charges de travail peuvent impliquer des développeurs compilant du code ou des ingénieurs manipulant des modèles 3D via Citrix Virtual Desktops (CVD). Ces charges sont communément appelées charges de travail « légères » et « lourdes », respectivement. Et comme vous le verrez plus loin dans cet article, ce type de variance de charge de travail peut avoir un impact considérable sur SSS.

Matériel

Le matériel physique sur lequel les charges de travail s’exécutent a un impact direct sur SSS. Il va probablement sans dire, mais un serveur plus récent équipé de 28 cœurs et 1 To de RAM sera en mesure de prendre en charge plus d’utilisateurs qu’un vieux matériel avec seulement 12 cœurs et 256 Go de RAM exécutant une charge de travail similaire. Et le CPU joue un rôle particulièrement important dans le CVAD SSS comme vous le verrez plus loin.

Rapport d’activité

L’un des aspects souvent négligés de SSS est le ratio d’activité ou la fréquence de travail des utilisateurs par rapport aux inactifs. De nombreux outils de test d’évolutivité adoptent une approche prudente et peuvent utiliser un ratio d’activité assez élevé comme 80% (ce qui signifie effectivement que les utilisateurs sont actifs ou travaillent 80% du temps et inactifs 20% du temps). Cependant, nous constatons souvent dans le monde réel que les ratios d’activité sont plus proches de 40 à 60 %. Et ce temps d’inactivité supplémentaire peut avoir un impact considérable sur SSS et sur la quantité de matériel à acheter pour prendre en charge un environnement CVAD.

Taux de surallocation de CPU

La plupart des charges de travail CVAD sont liées au CPU, ce qui signifie que le point ultime d’épuisement des ressources est directement lié au nombre de cœurs physiques disponibles dans le système. Et comme les utilisateurs peuvent ne pas être actifs 100% du temps et que nous avons des outils tels que Intel Hyper Threading disponibles (sans parler des planificateurs de CPU hyperviseur sont de plus en plus efficaces), nous pouvons souvent « sur-commit » ou sur-abonner des ressources telles que CPU. Et le taux de surallocation du CPU peut également avoir un impact sur SSS (de manière positive ou négative si ce n’est pas fait avec soin). Citrix a constaté qu’un ratio de sursouscription CPU de 2:1 est souvent optimal dans CVA SSS. Par exemple, si un serveur physique est équipé de puces à double socket 20 cœurs (c’est-à-dire « 2 x 20 »), il y a 40 cœurs physiques au total disponibles. Et avec Hyper Threading activé, il y aurait 80 cœurs virtuels ou logiques disponibles. En appliquant un rapport de 2:1 au nombre de cœurs physiques (40), nous recommandons d’utiliser 80 cœurs pour le dimensionnement ou l’estimation des SSS. D’autres exemples sont fournis à la fin de cet article pour illustrer ce concept plus en détail.

Architecture et fonctionnalités du microprocesseur

L’architecture sous-jacente de la puce et de la mémoire peut également jouer un rôle important dans SSS. Et Intel a récemment apporté des améliorations significatives dans la conception de l’architecture sous-jacente des microprocesseurs. Sur des puces plus anciennes, telles que Broadwell et Haswell, Intel connecte des processeurs à l’aide d’une architecture basée sur l’anneau. Mais à mesure que le nombre de cœurs augmentait, la latence d’accès augmentait et la bande passante par cœur diminuait de sorte que Intel atténuerait cette situation en divisant la puce en deux moitiés et en ajoutant un second anneau pour réduire les distances. Et cette séparation invisible était quelque chose qui devait être pris en compte dans CVAD SSS pour obtenir des résultats optimaux. Cela a été appelé par le passé « NUMA » ou non Uniform Memory Access. Et le guide principal était de vous assurer que vous dimensionnez des machines virtuelles CVA aussi grandes que possible, mais ne traversez pas les nœuds NUMA, les clusters ou les anneaux sous-NUMA en même temps. Si vous avez dimensionné vos machines virtuelles CVA trop volumineuses et qu’elles couvraient efficacement des nœuds ou des anneaux NUMA, cela peut conduire à un « thrashing » NUMA en accédant à des ressources non locales, ce qui réduirait le SSS. Avance rapide et Intel est passé d’une architecture basée sur l’anneau à une architecture basée sur le maillage. Et cette nouvelle architecture de maillage introduite dans Skylake n’a pas les mêmes limites qu’auparavant où nous devons diviser des puces, diviser des noyaux ou ajouter des anneaux. Et cela change la façon dont nous dimensionnons les serveurs CVA en particulier. Il est donc important de comprendre la puce spécifique utilisée dans le matériel que vous achetez et comment l’architecture sous-jacente du microprocesseur est conçue et construite

Les multiplicateurs magiques

Si vous souhaitez jauger ou estimer rapidement CVAD SSS, ces instructions sont efficaces. C’est aussi simple que cela : prenez le nombre de cœurs physiques dans un serveur, multipliez-le par 5 ou 10, et le résultat sera votre SSS. Si vous cherchez le nombre de machines virtuelles CVD que vous pouvez prendre en charge, alors vous utiliserez le « multiplicateur magique » de 5. Si vous essayez de comprendre combien d’utilisateurs CVA peuvent s’exécuter sur une seule pièce de matériel, vous utiliseriez 10. Regardons quelques exemples du monde réel pour voir comment cela est appliqué dans la pratique.

Exemple 1 : Citrix Virtual Desktops

Supposons que vous exécutez Windows 10 avec des applications Office standard et quelques applications personnalisées. Vous avez identifié qu’une spécification VM de 2 vCPU / 4 Go de RAM fonctionnerait mieux compte tenu de la charge de travail/image. Vous envisagez d’acheter des lames Cisco avec 36 cœurs physiques (2x18) et 768 Go de RAM. Et vous aimeriez comprendre à quel type de densité vous pouvez vous attendre. Utilisons la règle de 5 pour les CVD :

5 x 36 = 180 machines virtuelles par hôte

Remarque Les charges de travail VDI spécialisées Citrix et RDSH sont liées au processeur 99,9 % du temps. Le processeur est devenu le goulot d’étranglement d’évolutivité par opposition à la mémoire, au stockage sur disque ou au stockage réseau. Ces multiplicateurs omettent d’autres zones à part le CPU car le processeur est devenu le facteur principal. Bien que l’hyper-threading, les vitesses d’horloge et les cœurs virtuels soient tous importants, rien n’est plus important que le nombre de cœurs physiques sur un serveur. Lors de l’utilisation de la règle des 5 et 10, il est préférable d’ignorer tous les autres nombres au début pour faire le dimensionnement initial afin d’éviter toute confusion.

Exemple 2 : Applications virtuelles Citrix (matériel plus ancien)

Supposons que vous exécutez une application telle que SAP sur Windows Server 2012 R2 via CVA. Vous réaffectez d’anciennes lames HP avec 24 cœurs physiques (2 x 12) et 256 Go de RAM. Vous avez fait des recherches sur le site Web d’Intel sur le fait que la puce sous-jacente utilise une architecture de tampon en anneau et que chaque socket est effectivement divisé en 2 nœuds NUMA avec 6 cœurs chacun. Par conséquent, une spécification VM de 6 vCPU / 24 Go de RAM semble optimale pour maximiser l’évolutivité linéaire et minimiser le vidage NUMA. En utilisant un ratio de surabonnement CPU de 2:1, vous utilisez les 48 cœurs logiques et déployez 8 serveurs XenApp sur chaque hôte (48/6 = 8). Utilisation de la règle de 10 pour CVA :

10 x 24 = 240 utilisateurs par hôte

Exemple 3 : Applications virtuelles Citrix (matériel plus récent)

Supposons que vous exécutez une application de soins de santé populaire sur Windows Server 2016 via CVA. Vous envisagez d’acheter des lames Dell avec 32 cœurs physiques (2 x 16) et 256 Go de RAM. Vous avez fait des recherches sur le site Web d’Intel pour savoir que la puce sous-jacente utilise une architecture maillée et qu’il existe une directive métier pour réduire autant que possible l’empreinte de votre machine virtuelle. Vous décidez d’une spécification VM de 16 vCPU / 48 Go RAM. En utilisant un ratio de surabonnement CPU de 2:1, vous utilisez les 64 cœurs logiques et déployez 4 serveurs XenApp sur chaque hôte (64/ 16 = 4). Utilisation de la règle de 10 pour CVA :

10 x 32 = 320 utilisateurs par hôte

Comme mentionné précédemment, nous réalisons qu’il y a beaucoup plus de variables ou de paramètres qui influencent l’évolutivité par rapport au nombre de cœurs physiques dans un serveur. Et il peut y avoir certaines situations où la charge de travail du CVAD n’est pas liée à l’UC, de sorte que des précautions supplémentaires sont nécessaires lors du dimensionnement. De plus, d’autres facteurs dont nous n’avons pas parlé, tels que la vitesse d’horloge du processeur et les tempêtes d’ouverture de session, sont également importants et compliquent encore les exercices de dimensionnement. Mais nous avons constaté, grâce à des années d’expérience sur le terrain et à des centaines de déploiements, que rien n’a autant d’importance que le nombre de cœurs physiques. Si vous souhaitez comprendre votre SSS exact pour votre charge de travail particulière et votre environnement unique, Citrix recommande fortement d’utiliser un outil tel que Login VSI pour tester et/ou valider correctement les résultats.

Références

Présentation technique de la famille évolutive des processeurs Intel Xeon

Meilleures pratiques antivirus

Test de charge VSI de connexion