Wir haben eine SQL Server 2012 SP 2 CU 8-Instanz in einem VMWare-Host. Das Betriebssystem ist Windows Server 2012 R2.
Der Windows Task-Manager gibt an, dass wir zwei Sockets und 8 virtuelle Kerne haben. Diese Nummer entspricht der tatsächlichen Hardware unter dem Gast.
Im Task-Manager kann ich die Ansicht auch nicht in NUMA-Knoten ändern.
In SQL Server ist immer noch nur ein NUMA-Knoten zu sehen
Auch dieser Ausschnitt aus Glen Berrys Diagnoseabfragen gibt mir diese Informationen
EXEC sys.xp_readerrorlog 0, 1, N'detected', N'socket';
SQL Server hat 2 Sockets mit 4 Kernen pro Socket und 4 logischen Prozessoren pro Socket erkannt, insgesamt 8 logische Prozessoren. Verwenden von 8 logischen Prozessoren basierend auf der SQL Server-Lizenzierung. Dies ist eine Informationsnachricht. Es ist keine Benutzeraktion erforderlich.
Aufgrund all dieser Informationen kann ich vermuten, dass wir nur auf einem NUMA-Knoten, aber über zwei Sockets laufen.
Meine Fragen:
- Ist es richtig, dass wir nur auf einem NUMA-Knoten laufen?
- Kann dies die Leistung beeinträchtigen, selbst wenn sich alles auf einem NUMA-Knoten befindet?
- Welche Komponente bestimmt genau die NUMA-Grenzen? Wenn ich beispielsweise ein Mainboard mit zwei Sockeln und zwei Intel E5-Prozessoren habe, bestimmt das Mainboard, wie viele NUMA-Knoten ich habe oder welchen Prozessor.
Ich denke, es gibt viele Fehlinformationen über NUMA-Knoten. Wenn jemand meine Frage beantworten oder auf eine nützliche Ressource verweisen kann, die dieses Konzept ausführlich erklärt, wäre er sehr dankbar.
quelle
Antworten:
Die folgenden zwei Artikel machen deutlich, dass VMware dem Gastbetriebssystem eine optimale virtuelle NUMA-Konfiguration präsentiert. Dementsprechend ist die Anzahl der auf der VM konfigurierten Sockets für die Anzahl der NUMA-Knoten mehr oder weniger irrelevant. Wenn die tatsächliche Hardware mindestens 8 Kerne in einem NUMA-Knoten hat, wird VMware einem Gast mit 8 CPUs unabhängig von der Socket-Anzahl der VM nur einen NUMA-Knoten präsentieren.
Beeinträchtigt corespersocket die Leistung?
Virtual Machine vCPU und vNUMA Rightsizing - Faustregeln
Das Bestimmen der NUMA-Knotengrenzen für moderne CPUs enthält zwei hilfreiche Anführungszeichen, die zeigen, dass selbst auf Hardware die Anzahl der Sockets nicht immer der Anzahl der NUMA-Knoten entspricht:
und
Ich bin auch auf einen TechNet-Artikel gestoßen, Soft-NUMA (SQL Server) , der besagt, dass jeder Socket normalerweise durch einen NUMA-Knoten dargestellt wird, aber er erklärt nicht, wann dies nicht der Fall sein würde.
Sie können auch das BIOS der Hardware überprüfen, um sicherzustellen, dass NUMA aktiviert ist. Ich wäre überrascht, wenn es behindert wäre, aber ich habe durch meine Karriere gelernt, niemals anzunehmen, dass jemand etwas nicht völlig irrational gemacht hat.
Antworten auf Ihre Fragen:
quelle