Der Titel sagt so ziemlich alles. Ich frage mich nur, ob dies einen Unterschied in der Art und Weise macht, wie VMs Dinge verarbeiten, und ob eine Methode der anderen vorzuziehen ist.
Der Titel sagt so ziemlich alles. Ich frage mich nur, ob dies einen Unterschied in der Art und Weise macht, wie VMs Dinge verarbeiten, und ob eine Methode der anderen vorzuziehen ist.
Antworten:
Nein, Ihre VM sollte dieselbe Leistung erbringen und dieselben Ressourcen auf dem Host verwenden. Es ist nur eine Designauswahl, die hauptsächlich hinzugefügt wurde, um die Flexibilität zu erhöhen, die Ihr Betriebssystem oder Ihre Software je nach CPU-Lizenzanforderungen haben kann.
Jeder Socket / Core repräsentiert einen physischen Core auf dem Host. Denken Sie daran, dass mehr Kerne aufgrund der Terminierungsanforderungen nicht automatisch eine gute Sache sind.
Der Hauptzweck der Option Kerne / Sockel besteht darin, Flexibilität mit Software zu bieten, für die möglicherweise Laufzeit- oder Lizenzanforderungen gelten, die von der Anzahl der "physischen" Sockel oder CPU-Kerne abhängen.
Während es auf der einen Sockel im Vergleich zu einer Kombination aus Mehrfachsteckdosen kein Unterschied in der Leistung zwischen mehreren Kernen ist, gibt IS ein geringfügiger Unterschied in Betrieb , wenn Sie die CPU Hot-Add - Funktion der virtuellen Maschine aktivieren oder erfordern.
Mit der Hot-Add-Funktion für VMware-CPUs können Sie einer laufenden VM einen Socket hinzufügen, jedoch keine zusätzlichen Kerne . So seltsam es auch scheint, dies ist etwas, auf das ich in der Produktion bei der Arbeit stoße und das die Konfiguration neuer VMs beeinflusst hat.
Im Allgemeinen macht es wenig oder keinen Leistungsunterschied.
Ein ausreichend komplexes Betriebssystem kann seine Scheduling-Heuristik ändern (z. B. indem eng verwandte Threads auf Kernen im selben Paket beibehalten werden, was bei einigen Chip-Designs die Effizienz der Cache-Nutzung zwischen Kernen erhöhen kann), abhängig von der Anordnung der (bestückten) Sockets und Kerne. In einer virtualisierten Konfiguration ist jeder Unterschied wahrscheinlich unbedeutend oder wird aufgrund der Art und Weise, in der der Hypervisor den CPU-Zugriff für Gast-VMs plant, völlig streitig, es sei denn, der Hypervisor ist in Bezug auf die Kernplanung zwischen / innerhalb von VMs ziemlich geschickt.
Wie Dan betont, sollten Sie Ihre Aufgaben (auf realistische Weise: dh mit anderen Aktivitäten auf dem Host, nicht nur in einer Testumgebung, in der nur die betreffende VM ausgeführt wird) benchmarken, um sicherzustellen, dass mehrere vCores / vCPUs / beide ausgeführt werden ist eigentlich vorteilhaft für ihre Leistung. Die Art und Weise, wie der Zugriff auf Kerne geplant ist, kann zu Verzögerungen führen, die alle Vorteile zunichte machen und die Dinge insgesamt sogar verlangsamen. Ich habe Berichte gesehen, in denen für Aufgaben mit erheblicher CPU-Auslastung eine kleine Farm von Einzelkern-VMs auf demselben Host eine erheblich bessere Leistung erbringt Dieselbe Hardware wie eine kleinere Anzahl von (wobei "kleinere Nummer2 eine" enthält) Multicore-VMs (obwohl dies wahrscheinlich eine weitaus größere Speicherlast auf dem Host zur Folge hat).