Nmedia - Fotolia
CPU Ready Time als Kennzahl zum effizienten CPU-Overcommitment
Durch das Overcommitment von CPU-Ressourcen lässt sich die Serverkonsolidierung erheblich steigern. Wichtig ist nur der Blick auf die CPU Ready Time.
Einer der großen Vorteile der Virtualisierung liegt in der Möglichkeit zur Abstraktion der zugrundeliegenden physischen Ressourcen, die dann von mehreren virtuellen Maschinen geteilt werden können. Diese Abstraktion ermöglicht auch das Overcommitment physischer Ressourcen – ein Vorgang, bei dem mehr logische Ressourcen zugeteilt werden, als physisch tatsächlich vorhanden sind.
In einem Rechenzentrum benötigen niemals alle Server gleichzeitig den vollen Zugriff auf sämtliche verfügbaren Ressourcen, wodurch Unternehmen durch ein Overcommitment die Ressourcen besser ausnutzen und damit die Serverkonsolidierung erhöhen können. Das mögliche Ausmaß an Overcommitment ist dabei keine klar gezogene Linie. Das richtige Maß an Overcommitment zu finden gleicht eher einem Balanceakt zwischen wechselnden Workload-Anforderungen und den anvisierten Konsolidierungszielen.
Overcommitment-Level sind keine starren Werte, wie auch die meisten Geschäfts- und Workload-Anforderungen keine starren Werte sind. Stattdessen handelt es sich dabei um fließende Werte, die von vielen unterschiedlichen Variablen abhängen, inklusive der Art der Applikationen und sogar der Tageszeit. Die folgenden Kennzahlen zum CPU-Overcommitment können dabei helfen, IT-Umgebungen effektiver zu betreiben, ohne dabei Probleme mit der Ressourcenzuweisung zu bekommen.
Serverkonsolidierung richtig berechnen
Es gibt verschiedene Berechnungen, die unterschiedliche Werte für die mögliche Anzahl virtueller Maschinen pro CPU-Kern vorgeben. Die empfohlene Menge reicht dabei von drei virtuellen Maschinen pro Prozessorkern bis hin zu sechs oder sieben. Wenn man sich diese Berechnungen nicht genau ansieht, wird es damit aber ziemlich schnell zu Problemen kommen.
Zunächst einmal reine Mathematik: Ein Rack-Server mit zwei CPUs und sechs physischen CPU-Kernen pro Sockel und Hyper-Threading kommt auf 24 Kerne pro Server. Manche Berechnungsformel würde in diesem Fall bei vier virtuellen Maschinen pro CPU-Kern auf insgesamt 96 virtuelle Maschinen pro Server kommen – vier VMs pro CPU-Kern multipliziert mit den 24 Kernen pro Server. Dieses hohe Konsolidierungslevel wird man aber aus verschiedenen Gründen nie erreichen.
Eine der wichtigsten Fragen lautet dabei, welche Art an Workloads ausgeführt wird. In einer Umgebung mit vielen Transaktionen werden mehrere virtuelle Maschinen auch mehrere CPU-Kerne benötigen. Wenn man seine virtuellen Maschinen mit Dual- oder Quad-Core-basierten virtuellen CPUs ausstattet, muss man diesen Umstand natürlich berücksichtigen. Damit reduziert sich die ursprüngliche Berechnung von 96 virtuellen Maschinen pro Server schon auf 24, wenn Quad-Core-basierte VMs mit vier vCPUs verwendet werden. Damit sind wir aber noch nicht am Ende der Skala angelangt.
Bei vier virtuellen Maschinen pro CPU-Kern wird eine Auslastung von 0 bis 50 Prozent und einem Durchschnitt von 25 Prozent angenommen – wodurch vier VMs pro Kern ausgeführt werden können. Was aber passiert, wenn die Auslastung durch gestiegene Anforderungen eher gegen 50 Prozent tendiert? Damit bewegt sich die Anzahl möglicher virtueller Maschinen pro CPU-Kern von vier auf nur noch zwei, und von den ursprünglich 96 VMs pro Server bleiben nur noch 12 übrig.
CPU Ready Time beachten
Welche Berechnung ist nun korrekt, 12 oder 96 virtuelle Maschinen? Die einfache Antwort darauf lautet: Beide. Overcommitment ist eine fließende Linie, pure Mathematik kann hier nur einen Möglichkeitsbereich vorgeben. Der Schlüssel zur Lösung lautet Monitoring, vor allem die Kennzahl der CPU Ready Time ist hier ausschlaggebend.
Die CPU Ready Time beschreibt die Menge der Zeit, in der virtuelle Maschinen bereit sind, die CPU zu nutzen, diese aber von anderen VMs verwendet wird. Wenn virtuelle Maschinen zwei bis drei Prozent CPU Busy Time vorweisen, gibt es mehr als genug Ready Time.Wenn dieser Wert auf fünf oder mehr Prozent ansteigt, sind die virtuellen Maschinen schon sehr an die CPU gebunden. Sobald man zweistellige Werte der CPU Ready Time erreicht, fangen die wirklichen Probleme an. An diesem Punkt muss die CPU-Last reduziert werden, andernfalls ist mit erheblichen Performance-Problemen zu rechnen.
Bei steigendem Wettstreit der VMs um CPU-Ressourcen und der steigenden CPU Ready Time kommt die Möglichkeit geteilter Ressourcenpools ins Spiel. Wichtig ist dabei, dass Overcommitment natürlich keine zusätzlichen Ressourcen zur Verfügung stellt. Natürlich kann man manchen virtuellen Maschinen dadurch mehr Ressourcen zuteilen, diese fehlen aber dann an anderer Stelle. Das Teilen von Ressourcenpools soll die Konkurrenz um Ressourcen abmildern, dabei führt das Overcommitment natürlich im Grunde genommen erst zu dieser Konkurrenz der virtuellen Maschinen untereinander.
Weitere Artikel zum VM-Provisioning:
Mit der richtigen Ressourcenzuweisung zur höheren VM-Performance
Fünf Tipps für das richtige VM-Provisioning
Performance-Probleme virtueller Maschinen mit VMware esxtop lösen
Die meisten virtuellen Maschinen unterscheiden sich sehr stark voneinander. Wenn eine virtuelle Umgebung geplant wird, sollte daher das Overcommitment von CPU-Ressourcen einberechnet werden, indem rechenintensive VMs mit weniger anspruchsvollen virtuellen Maschinen und geschäftskritische mit unwichtigeren Workloads kombiniert werden.
Durch das Teilen von Ressourcen können Produktivsysteme Ressourcen von weniger wichtigen virtuellen Maschinen abziehen, um die Konkurrenz von Ressourcen abzumildern. Wenn virtuelle Maschinen auf einem Server nicht durchgemischt werden, lassen sich in dieser Situation auch keine zusätzlichen Ressourcen zur Verfügung stellen, weil jeder Workload geschäftskritische Bedeutung hat.
Wenn keine Ressourcen zum Overcommitment zur Verfügung stehen, ist die Wahrscheinlichkeit hoch, dass die Ressourcen einfach nicht effizient genug eingesetzt werden. Das CPU-Overcommitment ist eine sichere und beliebte Technik, um eine höhere Serverkonsolidierung zu erreichen. Wichtig dabei ist nur, die CPU Ready Time zu beachten und die Platzierung der virtuellen Maschinen sorgfältig vorzunehmen.
Folgen Sie SearchDataCenter.de auch auf Twitter, Google+ und Facebook!