it-swarm.com.de

Multi-Core vs Multi-CPU

Ich fordere einen neuen Server von unserem Serverteam an. Was ist besser für die SQL Server-Leistung: 2 CPUs mit 8 Kernen pro CPU oder 1 CPU mit 16 Kernen?

3
Darrell

Diese Frage ist sehr weit gefasst und die Antwort hängt stark von der Art Ihrer Workloads und Ihrem geplanten SQL Server-Setup ab. Angenommen, Ihre zukünftige Hardware unterstützt NUMA (warum nicht?) Und , vorausgesetzt

In SQL Server 2016 (13.x) werden Soft-NUMA-Knoten standardmäßig automatisch erstellt, wenn das SQL Server-Datenbankmodul beim Start mehr als acht physische Kerne pro NUMA-Knoten oder Socket erkennt. [...] Das SQL Server-Datenbankmodul erstellt Soft-NUMA-Knoten, die idealerweise acht Kerne enthalten

ein Grund könnte sein, dass der Hersteller in den meisten Fällen 8 Kerne pro Socket für die optimale Konfiguration hält.

Vielleicht finden Sie auch diesen alten Artikel nützlich.

5
mustaccio

Wenn Sie über physische CPUs sprechen, müssten Sie die Unterschiede zwischen den Chips in diesen Konfigurationen untersuchen. Sehen Sie besser noch, ob Sie einige Benchmarks mit Ihrem eigenen Code ausführen können, um festzustellen, ob es nützliche Unterschiede gibt. Es kann eine Vielzahl anderer Unterschiede geben: Wie viel L2/L3-Cache ist insgesamt für jeden Chip und für jeden Kern verfügbar? Gibt es Unterschiede bei den Speicherbusstandards?, ...

Wenn Sie über virtuelle Hardware sprechen, hängt dies davon ab, welches Virtualisierungssystem Sie verwenden und wie es die Lasten um die vorhandenen CPU-Ressourcen verteilt. Es kann effektiv keinen Unterschied geben, da in beiden Fällen Ihre 16 virtuellen Kerne ihre Workloads auf genau die gleiche Weise auf die reale Hardware verteilen, oder es gibt möglicherweise eine Art Spiegel der realen Hardware (also im 2x8-Fall jeder 8er-Satz Kerne können zueinander "lokaler" sein als zu dem anderen Satz).

In beiden Fällen kann es einen Lizenzunterschied geben: Wenn Sie Lizenzen pro Sockel (d. H. Pro CPU) kaufen, ist die 1x16-Option möglicherweise günstiger, da Sie nur eine bezahlen müssen. Wenn Sie pro Maschine/Knoten bezahlen, gibt es dort keinen Unterschied.

5
David Spillett

Die Unterschiede sind sehr gering und hängen von der Lokalität der Threads ab. Wenn die CPU-Threads isoliert sind und große Datenmengen aufweisen, bietet der zusätzliche L2-Cache auf zwei physischen CPUs eine etwas bessere Leistung. Wenn die Threads jedoch schlecht isoliert sind und ihre gesamte Zeit damit verbringen, auf dieselben Speicherbereiche zuzugreifen, werden Speicherabrufe reduziert, wenn sich alles in einem einzelnen L2-Cache befindet.

Ich glaube, die aktuelle Generation von SQL Server ist NUMA-fähig und wird versuchen, verwandte Prozesse auf einem einzelnen NUMA-Knoten zu halten. Der Betrieb von zwei CPUs bietet daher möglicherweise einen sehr kleinen Vorteil. Aus praktischer Sicht ist dies jedoch nicht von Bedeutung.

Meine Empfehlung wäre, das zu kaufen, was billiger ist, und den Unterschied für mehr RAM und SSD-Laufwerke) auszugeben.

2
Keith D.