Prozessor Tuning für den XenServer

Der Citrix™ XenServer bietet umfangreiche Kommandos zum Anpassen der CPU Leistung für einzelne virtuelle Maschinen. Leider sind diese nicht sehr ausführlich dokumentiert. Dieser Beitrag erklärt welche Tuningmaßnahmen es gibt, welche Befehle dafür zuständig sind und was damit bewirkt wird.

Physische CPU vs. virtuelle CPU

In einer standardmäßigen XenServer Installation werden physische CPUs den virtuelle CPUs der virtuellen maschinen über einen „fair-share“ Algorithmus zur Verfügung gestellt. Dieser Algorithmus funktioniert wie klassisches Loadbalancing und verschiebt virtuelle CPUs auf physischen Kernen um die beste Performance zu erreichen. In manchen Fällen ist es erforderlich diesen Mechanismus etwas zu konfigurieren. Wie der XenServer, nehmen wir mal eine Maschine mit zwei Dual-Core CPUs und Hyperthreading, die einzelnen CPUs nummeriert ist im folgenden Diagramm ersichtlich.

xenserver:cpu_diagramm.png

vCPU Pinning

Beim „pinning“ von virtuellen CPUs werden die vCPUs von virtuellen Maschinen auf bestimmte Ressourcen festgelegt und somit der Loadbalancing Algorithmus beeinflusst.

xe vm-param-set uuid=<VM UUID> VCPUs-params:mask=2,4,6

Mit dem vorstehenden Kommando bekommt die virtuelle Maschine nur die physischen Ressourcen 2, 4 und 6.

vCPU Priorität

Mit der vCPU Priorität kann einer virtuellen Maschine mehr oder weniger Prozessorzeit als anderen Maschinen zugeordnet werden.

xe vm-param-set uuid=<VM UUID> VCPUs-params:weight=1024

Die dem vorstehenden Kommando bekommt die virtuelle Maschine 4-mal mehr Prozessorzeit als eine normale VM. Gültige Werte gehen von 1 bis 65535, Standard ist 256.

vCPU Cap

Mit vCPU Cap kann letztendlich konfiguriert werden, wie viel CPU Leistung eine virtuelle Maschine bekommt.

xe vm-param-set uuid=<VM UUID> VCPUs-params:cap=75

Mit dem vorstehenden Kommando bekommt die virtuelle Maschine nur 75% eines Prozessors, auch dann wenn dieser zur Zeit keine Last hat. Gültige Werte sind 100 = eine CPU, 50 = eine halbe CPU, 400 = 4 CPUs und so weiter. Der Standardwert ist 0 und bedeutet, dass es nach oben keine Grenze gibt.

Wie diese Werte eingesetzt werden, muss von Fall zu Fall entschieden werden.

xenserver/cpu_tuning.txt · Zuletzt geändert: 22.01.2011 - 16:47 von Thomas Krampe
Sie befinden sich hier: Willkommen im Xenmaster WikiCitrix XenServerProzessor Tuning für den XenServer