Verbessert das Einrichten einer VM mit mehr als 1 CPU / Kern tatsächlich die Leistung?

11

Wenn ich eine VMware-Workstation verwende, kann ich die VM mit mehreren Kernen einstellen. Ich benutze es tatsächlich auf einer Maschine mit zwei Kernen und 4 logischen Kernen. Würde ich die VMS-Leistung wirklich verbessern, indem ich mehr Kerne auf der VM verwende?

Pete2k
quelle
3
Bei der Dimensionierung virtueller Gäste ist Folgendes zu beachten: Wenn die Installation auf einer realen Maschine davon profitiert hätte, wäre dies als virtuelle Maschine von Vorteil und umgekehrt. Und vor allem: Den System- oder Anwendungsanforderungen passiert nichts Magisches, nur weil Sie etwas virtualisiert haben .
Rob Moir

Antworten:

8

Dies hängt davon ab, was auf der VM ausgeführt wird. Ein Gast auf einem Computer mit n Anzahlen von Kernen arbeitet am besten mit n-1 zugewiesenen Kernen, solange der Gast mehrere CPUs effektiv nutzen kann. Leider ist der einfachste Weg, dies festzustellen, es zu versuchen und zu sehen. Normalerweise beginne ich mit 2 und höre auf, wenn mir die Leistungssteigerung ausgeht. Normalerweise sehe ich in 2 Kernen den "Sweet Spot". Nur wenige App / OS-Kombinationen, auf die ich gestoßen bin, lassen sich besser skalieren.

Jim B.
quelle
6

Zur Verdeutlichung sagen Sie, dass Sie eine Dual-Core-CPU haben und 4 virtuelle CPUs auf der VM zugewiesen haben?

In diesem Fall nein; Wenn Sie mehr vCPUs zuweisen, als Sie über physische Ausführungskerne verfügen, wird die Leistung aufgrund des Overheads der gemeinsamen Nutzung der 2 physischen Kerne unter 4 virtuellen Kernen (plus allem, was auf dem physischen Host ausgeführt wird) tatsächlich geringfügig verringert.

Sie erzielen die beste Leistung der VM, indem Sie ihr 2 vCPUs zuweisen.

Shane Madden
quelle
Nicht unbedingt - Sie werden wirklich nur dann eine verbesserte Leistung sehen, wenn die auf der VM ausgeführten Anwendungen Multi-Core-Systeme nutzen können. Leider, obwohl es 2011 ist, tun dies viele Anwendungen nicht.
EEAA
@ErikA Fairer Punkt - Anwendungs-Threading beiseite, ich sage nur, dass mit nur 2 physischen Kernen 2 vCPUs auf einer einzelnen VM immer besser sind als 4 vCPUs.
Shane Madden
Ja, 100% stimmten diesem Punkt zu.
EEAA
5

Wir haben vor einiger Zeit ( siehe meine Frage von vor einem Jahr ) mit der Zuweisung von vCPUs aus physischen Kernen gegenüber logischen Kernen (Threads) in Quad-Core-CPUs mit Hyperthreading experimentiert (8 zuweisbare vCPUs schienen verfügbar zu sein). Wie aus den Antworten hervorgeht, die ich damals erhalten habe - und unsere Erfahrung hat sich bestätigt -, sollten Sie jedem Gast die Mindestanzahl an Kernen zuweisen, die er verwenden kann, damit er ausgeführt werden kann.

Wenn beim Zuweisen von mehr vCPUs als auf dem Host verfügbare physische Kerne bei gleichzeitigem Laden von Gästen das Hyperthreading nicht immer schnell genug war, um den CPU-Kontext zwischen Threads zu wechseln, um eine andere CPU effektiv zu simulieren. Dies kann zu sehr unangenehmen Dingen für alle Gäste führen, einschließlich Abstürzen und Zeitüberschreitungen, die einen Neustart, Fsck und Schlimmeres auf dem Stapel erfordern können. Selbst wenn dies nicht der Fall ist, ist die Leistung für die Gäste oft langsamer als schneller.

Wie @Chris S damals in seinem Kommentar formulierte: "Weisen Sie immer so wenig zu, wie Sie können, und vermeiden Sie große Kopfschmerzen."

nedm
quelle