Die Foren-SW läuft ohne erkennbare Probleme. Sollte doch etwas nicht funktionieren, bitte gerne hier jederzeit melden und wir kümmern uns zeitnah darum. Danke!

Sizing CPU Sockets & Cores - Applikationsabhängig

Moderatoren: Dayworker, irix

Member
Beiträge: 39
Registriert: 28.12.2011, 14:46

Sizing CPU Sockets & Cores - Applikationsabhängig

Beitragvon wannabee » 08.04.2015, 08:22

Guten Morgen,

aktuell wird bei uns ein neuer virtueller Server sehr "0815" aufgesetzt. Mir ist dann folgender Artikel in die Hände gefallen

Code: Alles auswählen

Tip #4: Number and Configuration of vCPUs on a VM
When calculating the number and configuration of vCPUs on a VM, it's important to know the application running on each VM. If the application is SMP-aware, then increasing the number of vCPUs on the VM should increase its performance -- as long as you've allocated an appropriate amount of memory to the VM and as long as the ESXi host isn't memory-overcommitted.
With vSphere 5, you can now specify both the number of vCPUs and the number of cores on each vCPU. For example, Exchange 2007 isn't an SMP application. If you determine that an Exchange 2007 server is CPU-bound and running on a vSphere 5 ESXi host, you can increase the number of cores on the vCPU while keeping only one vCPU. If the VM is running Exchange 2010, which is an SMP application, you'd increase the number of vCPUs, each with a single core, for the best performance increases. Of course, your mileage might vary, so perform some tests to determine the optimal vCPU/core configuration for your environment.


Meine Frage: Hinterfragt ihr bei jedem neuen virtuellen Server bei euch ob die Applikation auf dem System "SMP-aware" ist und teilt dementsprechend die Sockets bzw. Cores zu?
Gibt es eine Übersicht welche "großen Anwendungen" SMP-Aware sind und welche nicht? Ansonsten muss man sich das ja für jede Anwendung anschauen ;-)

Danke euch.

King of the Hill
Beiträge: 13063
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Beitragvon irix » 08.04.2015, 08:49

Ich halte obige Aussage fuer Falsch bzw. nicht relevant. Gib mal die URL dazu.

Eine Anwendung ist MultiThreading bzw. basiert auf mehreren Prozessen oder auch nicht. Bei ersterem kann sie halt auf mehrere CPUs verteilt werden um die Leistung zu erhoehen sofern den CPU der Bottleneck ist. Bei einer Singlethread Anwendung verpufft die Mehrleistung und kann nicht genutzt werden.

Aus Sicht von vSphere gibts keinen Unterschied zwischen vCPU und vCore sondern die Konfigurationsmoeglichkeit existiert einzig und alleine um OS Guest Lizenz und anderen Limitierungen (Windows Desktops OS waren mal auf 2 CPUs begrenzt) entgegen zuwirken.

Gruss
Joerg

Member
Beiträge: 39
Registriert: 28.12.2011, 14:46

Beitragvon wannabee » 08.04.2015, 08:58

Der Beitrag ist von 2012, sollte aber an der Thematik dennoch nicht ganz vorbei gehen.
http://windowsitpro.com/virtualization/top-10-vsphere-performance-tips

Ich war bisher auch immer der Meinung dass es egal ist, ob ich Sockets oder Cores einer Maschine hinzufüge (zumindest für die Leistung) .... deshalb meine Nachfrage ;-)

King of the Hill
Beiträge: 13063
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Beitragvon irix » 08.04.2015, 09:30

Der erste Absatz ist ja Ok, aber der Zweite erweckt einen falschen Eindruck.

Fakt ist das Zuweisung von viel vCPU/vCore kontraproduktiv ist wenn das OS/App diese nicht verwenden kann bzw. falsch anwendet. Wenn das OS 2 CPUs sieht dann wird es seine Tasks und Prozesse auf eben jene verteilen. Sobald eine dieser CPUs Rechenleistung anfordert muss der vSphere Hypervisor auch einen freien Core suchen um die Anfrage zubedienen. Da in den meisten Umgebungen ein CPU Overprovisioing betrieben wird um eine hohe Konsolidierungsrate zu erreichen wird man hier zwangslaeufig auf Probleme stossen.

Dies ist der Grund warum man auf einem vSphere Host mit "nur" 4 logischen CPUs keine VM mit 5 vCPU/vCore laufen lassen kann.

Mit vHW9 teilt vSphere dem OS mit das es eine VM ist und gibt somit die Moeglichkeit dem GuestOS sich besser zu verhalten. vCPUs auf denen dann auch keine Rechenlast plaziert wurde belegen keine logische CPUs im Hypervisor.

Gruss
Joerg

Member
Beiträge: 206
Registriert: 09.09.2010, 14:12

Beitragvon Sven_B1982 » 08.04.2015, 09:56

Das problem ist die begrifflichkeit, hier ging es darum das der Ersteller davon ausgeht das wenn ein Programm nicht SMP-Fähig ist es nicht wissen kann das es von vCPU1 auf eine Speicheradresse zugreifen kann die vCPU2 im RAM abgelegt hat. Sind es hingegen vCores weiß das Programm wohl das ein prozess vom vCore1 auf eine Speicheradresse zugreifen kann die ein prozess im vCore2 verwaltet. Die frage ist wie viel das ganze performancemäßig ausmacht und ob der Schluss richtig ist das ein nicht SMP fähiges programm Multicore fähig ist, ich würde hier aber eher annehmen das die SMP-Fähigkeit mehr sache des betriebssystems ist.

Member
Beiträge: 39
Registriert: 28.12.2011, 14:46

Beitragvon wannabee » 10.04.2015, 08:14

Also wenn es offensichtlich "egal" ist ob mehr Sockets oder mehr Cores, was macht ihr? (wenn mal Lizenzrechtliches außen vor lässt).

Wenn ich richtig verstande habe wäre ja dann für ein SMP-fähigtes OS eine Konstallation viele Sockets mit je einem Core besser

King of the Hill
Beiträge: 13063
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Beitragvon irix » 10.04.2015, 08:38

1 vCPU.

Gruss
Joerg

Member
Beiträge: 16
Registriert: 29.10.2013, 00:20

Beitragvon hrhrhrhr » 10.04.2015, 14:03

Das Thema gab es hier ja erst "letztens", ich verweise daher mal auf diesen Thread:
http://vmware-forum.de/viewtopic.php?t=30173
und auf folgenden VMware-Blogpost:
http://blogs.vmware.com/vsphere/2013/10 ... mance.html

Wir nutzen daher auch meistens eine vCPU, wenn mehr Leistung dauerhaft gebraucht wird dann gibt es mehr Sockets statt Cores wegen NUMA.


Zurück zu „vSphere 5.5 / ESXi 5.5“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste