Skalierbarkeit Citrix Virtual Apps and Desktops mit einem Server

Beitrag von

Autor: Nick Rintalan

Übersicht

Dieser Artikel enthält Empfehlungen und Anleitungen zum Schätzen, wie viele Benutzer oder virtuelle Maschinen (VMs) auf einem einzelnen physischen Host unterstützt werden können. Dies wird allgemein als “Single-Server-Skalierbarkeit” (SSS) von Citrix Virtual Apps and Desktops bezeichnet. Im Kontext der Citrix Virtual Apps (CVA) oder der Sitzungsvirtualisierung wird sie auch als “Benutzerdichte” bezeichnet. Die Idee besteht darin, festzustellen, wie viele Benutzer oder VMs auf einer einzelnen Hardware ausgeführt werden können, auf der ein großer Hypervisor wie XenServer ausgeführt wird.

In diesem Artikel werden einige der Variablen oder Faktoren behandelt, die Citrix Virtual Apps and Desktops (CVAD) SSS beeinflussen. Wir werden dann Empfehlungen und einfache Richtlinien geben, um SSS für eine bestimmte Umgebung schnell zu schätzen. Abschließend werden einige Größenbeispiele unter Verwendung von realen Szenarien bereitgestellt.

Achtung! Dieser Artikel enthält Anleitungen zum Schätzen von SSS. Es sollte beachtet werden, dass die Anleitung auf hohem Niveau ist und nicht unbedingt spezifisch für Ihre einzigartige Situation oder Umgebung sein wird. Die einzige Möglichkeit, CVAD SSS wirklich zu verstehen, besteht darin, ein Skalierbarkeits- oder Lasttest-Tool wie Login VSI zu verwenden. Citrix empfiehlt, diese Anleitung und diese einfachen Regeln zu verwenden, um SSS schnell zu schätzen. Citrix empfiehlt jedoch die Verwendung von Login VSI oder dem Lasttest-Tool Ihrer Wahl, um die Ergebnisse zu validieren, insbesondere vor dem Kauf von Hardware oder bei finanziellen Entscheidungen.

Skalierbarkeitsfaktoren

Es gibt viele Faktoren, Parameter oder Variablen, die SSS beeinflussen. Dies ist keineswegs eine erschöpfende Liste, aber die folgenden sind einige der wichtigsten Faktoren, die Auswirkungen auf die SSS haben. Zwar gibt es viele weitere Faktoren, die Leistung und Skalierbarkeit beeinflussen, wie Antiviren- und Überwachungsagenten, Grafikcodierung, aktuelle Sicherheitslücken wie Spectre und L1 Terminal Fault, aber die unten aufgeführten Faktoren haben in der Regel die größten Auswirkungen auf CVAD SSS. Schauen wir uns nun an, wie Sie CVAD SSS mit einer einfachen Formel schnell schätzen können.

Workload

Einer der Hauptfaktoren, die sich auf Performance und Skalierbarkeit auswirken, ist die Arbeitslast selbst. Bei einigen Workloads kann es vorkommen, dass Task-Worker einfache Dateneingabetasks auf einem CVA-Server ausführen. Bei anderen Workloads kann es sich um Entwickler handeln, die Code kompilieren oder Ingenieure, die 3D-Modelle über Citrix Virtual Desktops (CVD) bearbeiten. Diese werden allgemein als “leichte” bzw. “schwere” Arbeitslasten bezeichnet. Und wie Sie später in diesem Artikel sehen werden, kann diese Art von Workload-Varianz dramatische Auswirkungen auf SSS haben.

Hardware

Die physische Hardware, auf der die Workloads ausgeführt werden, wirkt sich direkt auf SSS aus. Es versteht sich wahrscheinlich von selbst, aber ein neuerer Server mit 28 Kernen und 1 TB RAM wird in der Lage sein, mehr Benutzer als eine ältere Hardware mit nur 12 Kernen und 256 GB RAM zu unterstützen, die eine ähnliche Arbeitslast ausführen. Und die CPU spielt eine besonders wichtige Rolle in CVAD SSS, wie Sie später sehen werden.

Aktivitätsverhältnis

Einer der oft übersehenen Aspekte von SSS ist das Aktivitätsverhältnis oder wie oft Benutzer im Leerlauf arbeiten. Viele Tools für Skalierbarkeitstests verfolgen einen konservativen Ansatz und können ein ziemlich hohes Aktivitätsverhältnis wie 80% nutzen (was bedeutet, dass Benutzer aktiv sind oder 80% der Zeit arbeiten und 20% der Zeit im Leerlauf sind). Allerdings sehen wir oft in der realen Welt, dass die Aktivitätsquoten näher bei 40 -60% liegen. Und diese zusätzliche Leerlaufzeit kann sich dramatisch auf SSS auswirken und wie viel Hardware man kaufen muss, um eine CVAD-Umgebung zu unterstützen.

CPU-Über-Abonnement-Verhältnis

Die meisten CVAD-Workloads sind CPU-gebunden, was bedeutet, dass der ultimative Punkt der Ressourcenerschöpfung direkt mit der Anzahl der im System verfügbaren physischen Kerne zusammenhängt. Und da Benutzer möglicherweise nicht 100% der Zeit aktiv sind und wir Tools wie Intel Hyper Threading zur Verfügung haben (ganz zu schweigen von Hypervisor CPU-Schedulern werden immer effizienter), können wir oft Ressourcen wie CPU “überschreiben” oder überabonnieren. Und das Verhältnis, dass man die CPU überzeichnet, kann auch SSS beeinflussen (positiv oder negativ, wenn nicht sorgfältig gemacht). Citrix hat herausgefunden, dass ein CPU-Überabonnement von 2:1 oft optimal ist, wenn es um CVA SSS geht. Wenn beispielsweise ein physischer Server mit zwei Sockeln 20 Kernchips (d. h. “2 x 20”) ausgestattet ist, stehen insgesamt 40 physische Kerne zur Verfügung. Bei aktiviertem Hyper-Threading stehen 80 virtuelle oder logische Kerne zur Verfügung. Wenn wir ein Verhältnis von 2:1 auf die Anzahl der physischen Kerne (40) anwenden, empfehlen wir, 80 Kerne bei der Dimensionierung oder Schätzung von SSS zu verwenden. Weitere Beispiele finden Sie am Ende dieses Artikels, um dieses Konzept näher zu veranschaulichen.

Mikroprozessorarchitektur und -funktionen

Die zugrunde liegende Chip- und Speicherarchitektur kann auch in SSS eine wichtige Rolle spielen. Und Intel hat in letzter Zeit erhebliche Verbesserungen beim Design der zugrunde liegenden Mikroprozessorarchitektur vorgenommen. Auf älteren Chips, wie Broadwell und Haswell, verband Intel Prozessoren mit einer ringbasierten Architektur. Da jedoch die Anzahl der Kerne zunahm, erhöhte sich die Zugriff-Latenz und die Bandbreite pro Kern verringerte, so dass Intel dies mildert, indem er den Chip in zwei Hälften aufteilt und einen zweiten Ring hinzufügte, um Entfernungen zu reduzieren. Und diese unsichtbare Spaltung war etwas, das in CVAD SSS berücksichtigt werden musste, um optimale Ergebnisse zu erzielen. Dies wurde in der Vergangenheit als “NUMA” oder Non-Uniform Memory Access bezeichnet. Und die führende Anleitung bestand darin, sicherzustellen, dass Sie CVA-VMs so groß wie möglich dimensionieren, aber nicht gleichzeitig NUMA-Knoten, Sub-NUMA-Cluster oder Ringe kreuzen. Wenn Sie Ihre CVA-VMs zu groß dimensionieren und sich effektiv über NUMA-Knoten oder Ringe erstrecken, kann dies dazu führen, dass NUMA durch Zugriff auf nicht-lokale Ressourcen “Thrashing” führt, was zu reduzierten SSS führt. Schnellvorlauf bis heute und Intel hat sich von einer ringbasierten Architektur zu einer netzbasierten Architektur entwickelt. Und diese neue Mesh-Architektur, die in Skylake eingeführt wurde, hat nicht die gleichen Einschränkungen wie zuvor, wo wir Chips spalten, Kerne teilen oder Ringe hinzufügen müssen. Und das ändert insbesondere die Art und Weise, wie wir CVA-Server skalieren. Daher ist es wichtig, den spezifischen Chip zu verstehen, der in der Hardware verwendet wird, die Sie kaufen, und wie die zugrunde liegende Mikroprozessorarchitektur entworfen und konstruiert wird

Die Magic Multiplikatoren

Wenn Sie CVAD SSS schnell messen oder schätzen möchten, ist diese Anleitung ziemlich effektiv. Es ist so einfach: Nehmen Sie die Anzahl der physischen Kerne in einem Server, multiplizieren Sie es mit 5 oder 10, und das Ergebnis wird Ihr SSS sein. Wenn Sie nach der Anzahl der CVD-VMs suchen, die Sie unterstützen können, dann würden Sie den “magischen Multiplikator” von 5. Wenn Sie versuchen zu verstehen, wie viele CVA-Benutzer auf einer einzelnen Hardware laufen können, würden Sie 10 verwenden. Schauen wir uns einige Beispiele aus der Praxis an, um zu sehen, wie dies in der Praxis angewendet wird.

Beispiel 1: Citrix Virtual Desktops

Nehmen wir an, Sie führen Windows 10 mit Standard-Office-Anwendungen und einigen benutzerdefinierten Anwendungen aus. Sie haben festgestellt, dass eine VM-Spezifikation mit 2 vCPU/4 GB RAM angesichts der Workload/Image am besten funktionieren würde. Sie erwägen, Cisco Blades mit 36 physischen Kernen (2x18) und 768 GB RAM zu kaufen. Und Sie möchten verstehen, welche Art von Dichte Sie erwarten können. Lassen Sie uns die Regel von 5 für CVD verwenden:

5 x 36 = 180 VMs pro Host

Beispiel 2: Citrix Virtual Apps (ältere Hardware)

Nehmen wir an, Sie führen eine Anwendung wie SAP unter Windows Server 2012 R2 über CVA aus. Sie verwenden einige ältere HP Blades mit 24 physischen Kernen (2x12) und 256 GB RAM neu. Sie haben auf der Website von Intel nachgeforscht, dass der zugrunde liegende Chip eine Ringpuffer-Architektur verwendet und jeder Socket effektiv in 2 NUMA-Knoten mit je 6 Kernen aufgeteilt ist. Daher scheint eine 6 vCPU/24 GB RAM VM Spezifikation optimal zu sein, um die lineare Skalierbarkeit zu maximieren und NUMA-Thashing zu minimieren. Mit einem Verhältnis von 2:1 CPU-Überabonnement nutzen Sie alle 48 logischen Kerne und stellen 8 XenApp -Server auf jedem Host bereit (48/6 = 8). Anwendung der Regel von 10 für CVA:

10 x 24 = 240 Benutzer pro Host

Beispiel 3: Citrix Virtual Apps (neuere Hardware)

Nehmen wir an, Sie führen eine beliebte Anwendung im Gesundheitswesen unter Windows Server 2016 über CVA aus. Sie erwägen, Dell Blades mit 32 physischen Kernen (2x16) und 256 GB RAM zu kaufen. Sie haben auf der Website von Intel nachgeforscht, dass der zugrunde liegende Chip eine Mesh-Architektur verwendet, und es gibt eine Geschäftsrichtlinie, um Ihren VM-Footprint so weit wie möglich zu reduzieren. Sie entscheiden sich für eine 16 vCPU/48 GB RAM VM-Spezifikation. Wenn Sie ein Verhältnis von 2:1 CPU-Überabonnement verwenden, verwenden Sie alle 64 logischen Kerne und stellen 4 XenApp -Server auf jedem Host bereit (64/ 16 = 4). Anwendung der Regel von 10 für CVA:

10 x 32 = 320 Benutzer pro Host

Wie bereits erwähnt, erkennen wir, dass es viele weitere Variablen oder Parameter gibt, die die Skalierbarkeit im Vergleich zu der Anzahl der physischen Kerne in einem Server beeinflussen. Und es kann Situationen geben, in denen die CVAD-Arbeitslast tatsächlich nicht CPU-gebunden ist, so dass bei der Dimensionierung besondere Sorgfalt erforderlich ist. Darüber hinaus spielen andere Faktoren, die wir noch nicht diskutiert haben, wie CPU-Takt und Logon-Stürme, eine Rolle und erschweren weitere Größenübungen. Aber wir haben durch jahrelange Erfahrung im Feld und Hunderte von Bereitstellungen festgestellt, dass nichts so wichtig ist wie die Anzahl der physischen Kerne. Wenn Sie Ihren genauen SSS für Ihre bestimmte Arbeitslast und Ihre einzigartige Umgebung verstehen möchten, empfiehlt Citrix dringend, ein Tool wie Login VSI zu verwenden, um Ergebnisse ordnungsgemäß zu testen und/oder zu validieren.

Informationsquellen

Intel Xeon Prozessorfamilie — Technische Übersicht

Best Practices für Virenschutz

Login VSI-Lastprüfung

Skalierbarkeit Citrix Virtual Apps and Desktops mit einem Server