vCPU-Leistung zwischen 1 oder 2 vCPUs

7

Gibt es innerhalb der Virtualisierung (überwiegend VMware) einen Leistungsvorteil, wenn entweder 1 CPU mit 4 Kernen oder 2 CPUs mit 2 Kernen verwendet werden? Angenommen, die auf einer VM ausgeführte Anwendung kann zwei CPUs verwenden.

esx_admin18
quelle

Antworten:

9

Nicht beträchtlich genug, um eine Wirkung zu erzielen. Die Anpassungen dienen eher der Lizenzierung. Beispielsweise ist Windows Server pro Prozessorsteckplatz lizenziert, sodass Sie für 1 Kern und 4 CPUs mehr bezahlen müssen als für 1 CPU und 4 Kerne.

Gleiches gilt für andere Produkte, deren Kosten mit mehr Prozessoren schnell steigen (siehe Sie, Oracle).

Nathan C.
quelle
7
Machen Sie sich bereit ... Oracle-Zitate kommen ...
Ryan Ries
4
@RyanRies Als letztes habe ich nachgesehen, dass Oracle Sie dazu gebracht hat, ihre Produkte basierend auf physischen CPUs im Hypervisor und nicht auf virtuellen CPUs im Gast zu lizenzieren, sodass Sie das vollständige Entbeinen durch Oracle nicht vermeiden können. Ich bin mir nicht sicher, ob dies immer noch der Fall ist, aber es würde mich nicht überraschen.
MDMarra
5

Kurze Antwort: Wahrscheinlich keine, die Sie bemerken würden.

Lange Antwort: Vielleicht. Das Problem, das mir in erster Linie einfällt, ist, dass moderne CPUs viel schneller arbeiten als der Hauptspeicher, den sie verwenden. Dies ist der Hauptgrund, warum NUMA (ungleichmäßiger Speicherzugriff) erfunden wurde. CPUs auf demselben Chip (z. B. zwei Kerne auf demselben Chip) würden denselben NUMA-Knoten gemeinsam nutzen ... und beide würden schneller von diesem Knoten auf den Speicher zugreifen, als sie von einem anderen NUMA-Knoten auf den Speicher zugreifen könnten. Wenn Sie also einen Computer mit vielen Kernen und vielen physischen Prozessoren bauen, sollten Sie die Lokalität des NUMA-Knotens berücksichtigen. Wenn ein Prozessor auf weit entfernten Speicher zugreifen muss, ist er langsamer.

NUMA wird für Sie kein Problem sein, wenn Ihre Maschine nur einen oder zwei Prozessoren hat, aber ich dachte, ich würde es trotzdem erwähnen, nur der Vollständigkeit halber.

Ryan Ries
quelle
5

Obwohl es hier keinen Unterschied geben sollte , haben meine Benchmarks bei Windows-Gästen eine leichte (aber dennoch saubere) Leistungssteigerung bei Verwendung der Single-Core-Multi-Socket-Emulation gezeigt (z. B. werden 4 vCPUs als 4 Sockets, Single-Core, Single-Thread zugeordnet). . Kein sichtbarer Unterschied bei Linux-Gästen.

Tests wurden auf KVM unter Verwendung von Windows 2003R2- und 2008R2-Gästen sowie RHEL5- und RHEL6-Gästen für die Linux-Seite durchgeführt. Ich vermute, Windows versucht, einige zusätzliche Planungstricks auszuführen, die sich entweder auf mehreren Sockets auszeichnen oder auf mehreren Kernen fehlschlagen.

dyasny
quelle
3

Hier gibt es keinen großen Unterschied. Der Hauptzweck der Kerne / Socket-Bezeichnung besteht darin, Optionen für Software bereitzustellen, für die möglicherweise Laufzeit- oder Lizenzanforderungen gelten, basierend auf der Anzahl der "physischen" Sockets oder CPU-Kerne ( Husten, Datenbanken ... ).

Es gibt keinen signifikanten Leistungsunterschied zwischen mehreren Kernen auf einem Socket und einer Kombination aus mehreren Sockets. Es gibt einen geringfügigen Unterschied im Betrieb, wenn Sie die CPU-Hot-Add-Funktion der virtuellen Maschine aktivieren oder benötigen ( vorausgesetzt, Sie verfügen über eine Enterprise-Lizenz oder eine höhere Lizenz ).

Beim CPU-Hot-Add fügen Sie in Schritten von Sockets und nicht von Kernen hinzu. Wenn Sie also einen einzelnen Socket mit 4 Kernen haben, führt Sie ein CPU-Hot-Add-Vorgang in vSphere zu zwei Sockets und 8 Kernen.

Wenn Sie alternativ zwei Sockel mit 2 Kernen hätten, würde ein Hot-Add Sie zu drei Sockeln und 6 Kernen bringen.

Siehe: Macht es in VMware ESXi 5.x einen Unterschied, ob ich 2 CPU-Kerne gegenüber 2 CPU-Sockeln auswähle?

ewwhite
quelle