Skalierung innerhalb eines VMware-Hosts - vCPUs oder VMs hinzufügen?

7

Wir haben eine ASP.NET MVC-Site, die auf zwei VMware ESX-Hosts gehostet wird. Jeder Host verfügt über zwei Sockel mit Quad-Core-CPUs (8 logische Kerne pro Host). Wir haben zwei VMs auf jedem Host. Anfänglich wurde jedem Host nur eine vCPU zugewiesen.

Wir haben die vCPUs pro Host auf 2 und dann auf 4 erhöht und in jeder Phase einen durchschnittlichen Durchsatzanstieg von 30% in unseren Lasttests gemessen. Die Anwendung ist CPU-gebunden - es gibt nicht viel Caching (RAM) und sehr wenig Festplattenaktivität.

Ich frage mich, ob wir unterschiedliche Ergebnisse erwarten sollten, wenn wir mehr VMs mit weniger CPUs haben. Ich habe ein wenig darüber gelesen, wie ESX vCPUs plant, und es scheint, dass uns der Planungsaufwand bei mehr vCPUs und weniger VMs möglicherweise zurückhält.

Sollten wir zum Beispiel mit 4 VMs mit 2 vCPUs arbeiten? Welche Ressourcenengpässe handeln wir genau, indem wir die Anzahl der VMs gegenüber der Anzahl der vCPUs anpassen?

Aidan Ryan
quelle

Antworten:

4

Ich denke, Sie wären besser mit weniger VMs mit mehr vCPUs - nicht alle Anwendungen wachsen wie Ihre, es ist in der Tat ein ziemlicher Luxus, ich wünschte, meine hätten das getan :)

Machen Sie sich grundsätzlich keine Gedanken über die vCPU-Planung, bis Sie ein tatsächliches Problem feststellen. Dann wird es komplex.

Chopper3
quelle
Vielen Dank! Gibt es etwas, das wir auf Hostebene messen können, um zu verstehen, ob der Planungsaufwand zu hoch ist?
Aidan Ryan
1
@AidanRyan Beobachten Sie die Bereitschaftszeitmetrik im Abschnitt "CPU" der Registerkarte "Leistung". Wenn die Werte höher werden, wird die Leistung der CPU-Konkurrenzkosten angegeben.
Shane Madden
Wenn Sie einen Acht-Wege-Server mit zwei VMs mit jeweils vier vCPUs haben, geraten Sie nicht immer in eine Situation, in der sich eine vCPU in einem Wartezustand befindet. Daher ist dieser Punkt umstritten. Wenn Sie über freie SAN-Ports verfügen, fügen Sie Hosts hinzu oder schalten Sie einen Host gegen einen mit schnelleren / mehr Kernen aus. Wenn Oracle beteiligt ist, wird letzteres natürlich nicht unbedingt eine Option sein ;-)
Simon Catlin