So erhöht eine ausgewogene Ressourcen-Zuweisung die VM-Performance

Nicht nur zu wenig, auch zu viele Ressourcen beeinträchtigen die Performance virtueller Maschinen. So finden Sie die optimale Ressourcen-Zuteilung.

Mit wachsender Anzahl virtueller Maschinen (VM) im Data Center ist es wichtig zu verstehen, wie sich die zugewiesenen...

Ressourcen auf die VM-Größe auswirken. Und zwar nicht nur innerhalb einer virtuellen Maschine, sondern auch zwischen verschiedenen VM-Gruppen, die sich bestimmte Ressourcen teilen.

Eine gute Performance von Anwendungen ist alles andere als Zufall. Um dieses Ziel zu erreichen müssen Sie nicht nur Ihre Applikationen kennen, sondern auch die verschiedenen Schichten, die für die Auslieferung der Ressourcen zuständig sind. Virtuelle Maschinen benötigen Ressourcen aus verschiedenen Bereichen: CPU, Arbeitsspeicher, Netzwerk und Storage. Das Zusammenspiel dieser Ressourcen sollten Sie in Ihre Planung virtueller Maschinen in jedem Fall mit aufnehmen. Bekommt eine VM von diesen Ressourcen zu wenig oder auch zu viel Kapazitäten, dann wird die Performance höchstwahrscheinlich nicht das Optimum erreichen.

Wie viele CPU-Ressourcen benötigen virtuelle Maschinen?

Jede virtuelle CPU einer VM läuft nur auf einem physischen CPU-Kern. Höhere CPU-Taktfrequenzen wirken sich daher auch positiv auf virtuelle Maschinen aus. Dementsprechend können mehrere virtuelle CPUs gerade für anspruchsvolle Applikationen sehr vorteilhaft sein. Kompliziert wird die Sache aber dadurch, dass virtuelle Maschinen zum Beispiel bei ESXi-Servern physische CPUs gemeinsam nutzen. Je mehr Kerne der ESXi-Server besitzt, desto mehr bekommt eine virtuelle CPU anteilig von einem Kern. Aus diesem Grund sind mehr Kerne oftmals besser als höhere Taktfrequenzen.

Sollte Ihre VM anteilig viele CPU-Ressourcen benötigen, dann sollten Sie dieser eine zweite virtuelle CPU zuteilen. Behalten Sie aber im Hinterkopf, dass mehr als ein paar virtuelle CPUs in einer virtuellen Maschine die Applikation möglicherweise nicht beschleunigen. Nur Anwendungen mit Multithreading-Unterstützung können mehrere virtuelle CPUs auch effizient nutzen.

Schlimmer ist allerdings, dass eine virtuelle Maschine mit mehreren virtuellen CPU-Kernen dem VMkernel das Scheduling erschwert. Dadurch ist eine Applikation mit zu vielen zugewiesenen virtuellen CPUs womöglich sogar langsamer. Da moderne Server aber inzwischen eine große Anzahl an Prozessoren mit sich bringen, sollte inzwischen jede VM auf einem ESXi-Server auch genug CPU-Kapazität abbekommen. Vorausgesetzt natürlich, die virtuellen Maschinen sind ordentlich konfiguriert.

Mehr Arbeitsspeicher erhöht die VM-Performance

Normalerweise ist Arbeitsspeicher auf einem ESXi-Server der limitierende Faktor. Genau an dieser Stelle sollten Sie daher besonders Acht geben. Der VMkernel geht sehr intelligent mit Arbeitsspeicher um und erlaubt den virtuellen Maschinen die Benutzung des gesamten physischen Arbeitsspeichers. Gleichzeitig versucht der ESXi-Server zu vermeiden, dass eine virtuelle Maschine den physisch vorhandenen und zugewiesenen Arbeitsspeicher dann aber nicht nutzt.

Ist der physische Arbeitsspeicher komplett ausgereizt, muss der VMkernel eine Entscheidung treffen. Er bestimmt dann, welche virtuelle Maschine den ihr zugewiesenen Arbeitsspeicher behalten darf und welche etwas abgeben muss. Diese Methode nennt VMware Memory Reclaiming. Immer wenn physischer Arbeitsspeicher von einer VM zurückgefordert wird, kann das aber unter Umständen die Performance dieser virtuellen Maschine in Mitleidenschaft ziehen. Je mehr Arbeitsspeicher der Host zurückfordert, desto größer ist natürlich auch das Risiko von Performance-Einbußen.

Sie sollten einer virtuellen Maschine daher nur die Menge an Arbeitsspeicher zuweisen, die sie für die ihr zugedachten Aufgaben auch tatsächlich benötigt. Die Zuteilung von zu viel Arbeitsspeicher erhöht ganz einfach das Risiko des Memory Reclaiming. Verwendet ein VM-Betriebssystem auf der anderen Seite allerdings den sonst ungenutzten Arbeitsspeicher als Festplatten-Cache, kann dies wiederum die von den Datenträgern geforderte Performance sichtlich reduzieren. Hier gilt es also, zwischen den Vor- und Nachteilen von viel zugewiesenem Arbeitsspeicher abzuwägen.

Bei Datenbank-Servern und VDI-Desktops ist es unter Umständen wesentlich kosteneffizienter, diesen virtuellen Maschinen mehr Arbeitsspeicher zuzuweisen, als ein Storage-Array mit mehr Performance zu kaufen. Im Gegenzug müssen Sie dann aber eben auch weniger virtuelle Maschinen auf dem ESXi-Server laufen lassen. Der Schlüssel zur optimalen Performance besteht also darin, einer virtuellen Maschine genug, aber nicht zu viel Arbeitsspeicher zuzuweisen.

Mit VMXNET3 und 10 GbE zur optimalen Netzwerk-Performance

Wenn wir über die Bandbreit von Netzwerken sprechen, dann sind damit zwei Dinge gemeint: Zum einen die Bandbreite zwischen der virtuellen Maschine und dem virtuellen Switch, zum anderen die Bandbreite vom virtuellen Switch zur physischen IT-Infrastruktur. Wer die Bandbreite von der virtuellen Maschine nach außen hin maximieren möchte, der sollte VMwares VMXNET3-Netzwerk-Adapter wählen. Dieser liefert gemeinhin den besten Durchsatz bei geringstem CPU-Overhead. Solange es die Umstände erlauben, sollten Sie eigentlich immer auf VMXNET3 setzen.

Als Verbindung zur physischen Welt verwenden Sie am besten die schnellsten verfügbaren Netzwerkkarten. 10 GbE (10 Gigabit Ethernet) ist eine großartige Wahl, auch wenn Sie nur eine kleine Anzahl an physischen Netzwerkkarten haben. Mit 10 GbE können Ihre virtuellen Maschinen dann nämlich auch mit extremen Spitzen im Netzwerk-Traffic umgehen.

Beachten Sie aber, dass eine virtuelle Maschine mit hohem Netzwerk-Traffic auch viele CPU-Ressourcen beansprucht, und zwar sowohl innerhalb der VM als auch für den VMkernel. Aus diesem Grund könnte ein ESXi-Server mit limitierten CPU-Ressourcen einen geringeren Netzwerk-Durchsatz aufweisen, wenn ihm höhere CPU-Kapazitäten verwehrt werden.

Auch Shared Storage beeinträchtigt die Performance

Die Leistungsfähigkeit der Festplatten ist oft ein stiller Performance-Killer für das ganze System. Die Performance der VM-Festplatten ist meist durch Anzahl und Art der Datenträger in einem Array limitiert. Zudem kommt es darauf an, wie viele virtuelle Maschinen sich diese Festplatten teilen. Shared Storage führt außerdem oft dazu, dass die Daten von allen virtuellen Maschinen an einem Ort zusammentreffen und die Storage-Controller und -Festplatten überlasten. Als Konsequenz müssen die virtuellen Maschinen dann auf das Storage warten.

ESXi berücksichtigt die Zeit, die eine VM auf Disk I/O wartet, im selben Tracker, der auch für die Leerlaufzeit der VM-CPU verwendet wird. Der Effekt auf die Performance ist allerdings sehr unterschiedlich. Wartet eine virtuelle Maschine auf I/O, erledigt sie in dieser Zeit keine weiteren Aufgaben. Lange Wartezeiten wirken sich demnach sehr negativ auf die Performance aus. Daher muss beim VM-Design auch tunlichst das Storage-System mitbedacht werden.

Folgen Sie SearchDataCenter.de auch auf Facebook, Twitter und Google+!

Artikel wurde zuletzt im Juli 2014 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über VM-Performance-Management

0 Kommentare

Älteste Beiträge 

Passwort vergessen?

Kein Problem! Tragen Sie Ihre E-Mail-Adresse unten ein. Wir werden Ihnen eine E-Mail mit Ihrem Passwort schicken.

Ihr Passwort wurde an die folgende E-Mail-Adresse gesendet::

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

Close