Das war früher so, ist aber nicht mehr ausschließlich so.
Worauf sie sich beziehen, ist Strict Co-Scheduling .
Am wichtigsten ist jedoch, dass beim strengen Co-Scheduling-Algorithmus aufgrund einer verzögerten vCPU die gesamte virtuelle Maschine gleichzeitig gestoppt wird. Im entspannten Co-Scheduling-Algorithmus entscheidet eine führende vCPU anhand des Versatzes gegenüber der langsamsten geschwisterlichen vCPU, ob sie sich selbst stoppen soll
Nun, wenn nur der Host 4 Threads hat, dann würden Sie dumm sein , alle von ihnen zu vergeben. Wenn zwei Prozessoren und 4 Threads pro Prozessor vorhanden sind, möchten Sie möglicherweise nicht den gesamten Inhalt eines einzelnen Prozessors zuweisen, da Ihr Hypervisor versuchen sollte, vCPUs auf demselben NUMA-Knoten zu belassen, um den Speicherzugriff zu beschleunigen Dies wird erschwert, indem einer einzelnen VM ein ganzer Socket zugewiesen wird (siehe Seite 12 dieser PDF-Datei oben).
So gibt es Szenarien , in denen weniger vCPUs können besser als mehr, aber es ist nicht wahr , 100% der Zeit.
Nach alledem ordne ich sehr selten mehr als 3 vCPUs pro Gast zu. Jeder erhält standardmäßig 2, 3, wenn es sich um eine hohe Auslastung handelt, und 4 für Dinge wie SQL Server oder sehr hohe Stapelverarbeitungs-VMs oder einen Terminalserver mit vielen Benutzern.
MAXDOP
Einstellungen. Abhängig von der Arbeitsbelastung ist ein überlasteter SQL-Server jedoch häufig ein Zeichen für ein schlechtes Datenbankdesign - schlechte Indizes, keine Clustered-Indizes, zu viele Indizes, keine Optimierung usw. (nicht immer, aber häufig).Dies hängt weitgehend vom zugrunde liegenden Hypervisor und den Administratoren ab, die ihn ausführen. Lassen Sie mich Folgendes erklären:
Was können Sie daraus lernen? Erstellen Sie VMs immer mit minimalen Ressourcen und erhöhen Sie sie nach Bedarf. Skalieren Sie immer nach unten anstatt nach oben, und Sie können Ihre App überall ausführen.
Aufgrund der Sperrung, die mit dem Hypervisor auftreten kann, ist es in der Tat richtig, dass zwei CPUs schneller sein können als vier CPUs.
quelle
Ja, die Aussage macht generell Sinn. Es ist jedoch etwas, das Sie auf Ihre genaue Konfiguration und Workload testen sollten. Manchmal sind mehr CPUs besser, wenn Sie sie tatsächlich nutzen können. Wenn Sie jedoch nicht so viel Parallelität haben, ist die Leistung einer mit weniger CPUs konfigurierten VM häufig etwas besser, da Verzögerungen aufgrund von CPU-Bereitschaftspausen vermieden werden.
Ich habe die vCPUs einiger unserer VMs reduziert und bei den meisten eine Verbesserung des Durchsatzes festgestellt. Eine Handvoll wurde schlimmer und musste in Bezug auf die Anzahl der vCPUs erhöht werden.
quelle