yoface
Goto Top

Virtualisierung Prozessorskalierung - vCPU Calculator

Hallo zusammen,

ich habe einen Server mit einem Xeon D-1527 Prozessor. Der hat 4 Kerne und 8 Threads.

Nun hat sich mir die Frage gestellt wieviele vCPUs ich maximal vergeben kann für virtuelle Maschinen. Egal ob für Hyper-V oder Vmware oder Synology VMM Pro. In demfall ist es für VMs via Synology Virtual Machine Manager gedacht.

Ist folgende Rechnung zur Errechnung der vCPUs korrekt?

Kerne x Threads = 4 x 8 = 32 vCPUs

Kann ich also theoretisch 4 virtuellen Maschinen 8 vCPUs zu weisen? Oder wie geht man da voran um die maximale Leistung des Prozessors auszunutzen?

Danke und Grus
yoface

Content-Key: 479742

Url: https://administrator.de/contentid/479742

Printed on: April 16, 2024 at 22:04 o'clock

Member: it-fraggle
it-fraggle Jul 31, 2019 at 15:37:09 (UTC)
Goto Top
Die physische CPU kann nicht mehr leisten als an physischen Kernen vorhanden ist. Wer sonst soll die Arbeit machen?
Member: Dani
Dani Jul 31, 2019 at 15:40:49 (UTC)
Goto Top
Moin,
Kann ich also theoretisch 4 virtuellen Maschinen 8 vCPUs zu weisen? Oder wie geht man da voran um die maximale Leistung des Prozessors auszunutzen?
Es gibt Virtualization Calculator - ESX und Hyper-V Virtualization Calculator. Einfacher geht es fast nicht mehr... face-wink


Gruß,
Dani
Member: SlainteMhath
SlainteMhath Aug 01, 2019 at 05:42:48 (UTC)
Goto Top
Moin,

Egal ob für Hyper-V oder Vmware oder Synology VMM Pro.
Die Annahme ist schon mal falsch...

Kerne x Threads = 4 x 8 = 32 vCPUs
und das ist vollkommener Quatsch, sorry face-smile

Lies dier z.b. das hier mal durch https://blog.heroix.com/blog/vmware-vcpu-over-allocation

lg,
Slainte
Member: Bem0815
Bem0815 Aug 01, 2019 at 12:10:15 (UTC)
Goto Top
Zitat von @yoface:

Kerne x Threads = 4 x 8 = 32 vCPUs

Kann ich also theoretisch 4 virtuellen Maschinen 8 vCPUs zu weisen? Oder wie geht man da voran um die maximale Leistung des Prozessors auszunutzen?

Moin, deine Annahme ist hier grundlegend falsch.
Nicht jeder deiner Kerne hat 8 Threads sondern deine CPU hat insgesamt 8 Threads.

Wenn du jetzt 4 VMs hast und jeder einen vCPU gibst hast du für jede VM einen Kern exklusiv.
Wenn du jeder von den 4 VMs zwei VCPU gibst hast du jeweils einen Thread exkusiv.

Wenn du VMs mehr vCPU gibst dann werden mehrere virtuelle Maschinen auf den gleichen Kernen bzw. Threads Dinge berechnen und sich diese Teilen. Nennt sich dann Overprovisioning. Das macht auch z.B. so gut wie jeder Hoster von virtuellen Servern um damit die CPUs ordentlich auszulasten auch wenn einzelne User die Leistung ihrer VMs nicht im Ansatz nutzen. Lies dich mal zu dem Thema am besten ein.
Member: yoface
yoface Aug 02, 2019 at 10:02:01 (UTC)
Goto Top
Vielen Dank für die ganzen Antworten, jetzt ist mir einiges klarer geworden. War leider nicht mehr ganz up2date mit den Prozessoren.

Würdet ihr empfehlen das man das Overprovisioning nutzt? In meinen Augen macht es Sinn, da immer nur punktuell mal eine VM etwas mehr Prozessorlast benötigt als sonst. Sprich, 1-2 mal am Tag sieht man auf einer VM mal einen Peak von kurz 80% Auslastung der CPU wenn ein Anwender eine CPU performance lastige Anwendung startet. Ansonsten dümpelt der Prozessor auf den Maschinen im Schnitt bei 10-20% rum.

Ich habe jetzt den 2 VMs jeweils 8 vCPUs zugewiesen und ich sehe in der Auslastung das die 8 logischen CPUs bei beiden Maschinen im Schnitt nur bei 10% vor sich herrechnen.

Unter der CPU Zuweisung pro VM unter der Synology Virtual Machine Manager App kann ich noch eine QoS Einstellung vornehmen.
Dort habe ich zur Auswahl einmal:
- "Reservierte CPUs" : 1-8
und
- "CPU Relative Gewichtung" - von Niedrig bis Hoch als Einstellungsmöglichkeit

Was würdet ihr dort einstellen pro VM?
Member: Dani
Dani Aug 02, 2019 at 11:18:02 (UTC)
Goto Top
Moin,
Würdet ihr empfehlen das man das Overprovisioning nutzt?
wir machen es grundsätzlich nicht. So steht jeder VM zu jeder Zeit die konfigurierte Leistung vollumfänglich zur Verfügung. Aber das hängt natürlich von der Anzahl der VMs, der möglichen Peaks und den restlichen Anforderungen ab.

Ich habe jetzt den 2 VMs jeweils 8 vCPUs zugewiesen und ich sehe in der Auslastung das die 8 logischen CPUs bei beiden Maschinen im Schnitt nur bei 10% vor sich herrechnen.
Zuweisen ist das eine. Kann die Software aber auch mit 8vCPUs umgehen? Wenn dem nicht so ist, ist es Verschwendung von Ressourcen.


Gruß,
Dani
Member: Bem0815
Bem0815 Aug 02, 2019 at 12:43:47 (UTC)
Goto Top
Zitat von @Dani:
Ich habe jetzt den 2 VMs jeweils 8 vCPUs zugewiesen und ich sehe in der Auslastung das die 8 logischen CPUs bei beiden Maschinen im Schnitt nur bei 10% vor sich herrechnen.
Zuweisen ist das eine. Kann die Software aber auch mit 8vCPUs umgehen? Wenn dem nicht so ist, ist es Verschwendung von Ressourcen.

Hier würde ich auch nochmal unterscheiden. Nur weil eine Software keine 8 Kerne oder virtuelle Kerne nutzen kann heißt das nicht automatisch, dass es keinen Sinn macht nicht so viele Kerne zu nutzen. Das OS kann auf jeden Fall mit den Kernen umgehen und dementsprechend andere Software die auch noch auf dem System läuft andere Kerne zuweisen. Das bringt dann meist dennoch einen Vorteil.
Member: Dani
Dani Aug 02, 2019 at 15:25:08 (UTC)
Goto Top
Moin,
Das OS kann auf jeden Fall mit den Kernen umgehen und dementsprechend andere Software die auch noch auf dem System läuft andere Kerne zuweisen. Das bringt dann meist dennoch einen Vorteil.
da denke ich viel zu groß. Bei uns gilt 1x Software = 1x VM. face-big-smile

Gruß,
Dani