Vorgehensweise: Konfigurieren von SQL Server für die Verwendung von Soft-NUMA
Neu: 05. Dezember 2005
Beim Konfigurieren von SQL Server für die Verwendung von Soft-NUMA (Software Non-Uniform Memory Access) müssen Sie die Registrierung bearbeiten und eine Affinitätsmaske für die Knotenkonfiguration hinzufügen. Die Soft-NUMA-Maske kann als binärer oder als DWORD-Registrierungseintrag (hexadezimal oder dezimal) angegeben werden. Zum Konfigurieren von Soft-NUMA müssen Sie Datenbankmodul neu starten. Lesen Sie vor dem Konfigurieren von Software-NUMA die Informationen unter Grundlegendes zu NUMA (Non-Uniform Memory Access) und Unterstützung der NUMA-Funktionalität in SQL Server 2005.
Eine falsche Bearbeitung der Registrierung kann schwere Beschädigungen des Systems zur Folge haben. Bevor Sie Änderungen an der Registrierung vornehmen, ist es empfehlenswert, alle wichtigen Daten zu sichern, die sich auf dem Computer befinden.
In diesem Beispiel verwendet ein Computer mit acht CPUs keine NUMA-Hardware. Drei Soft-NUMA-Knoten sind konfiguriert. Die Datenbankmodul-Instanz A ist für die Verwendung der CPUs 1 bis 4 konfiguriert. Eine zweite Instanz von Datenbankmodul ist installiert und für die Verwendung der CPUs 5 bis 8 konfiguriert. Das Beispiel kann visuell wie folgt dargestellt werden:
CPUs 1 2 3 4 5 6 7 8
Soft-NUMA <-N0--><-N1-><----N2---->
SQL Server <instance A ><instance B>
Instanz A, auf der ein hohes Maß an E/A-Aktivität stattfindet, verfügt nun über zwei E/A-Threads und zwei Threads für LAZY WRITER-Prozesse (verzögertes Schreiben), während Instanz B, auf der prozessorintensive Vorgänge ausgeführt werden, nur über einen E/A-Thread und einen Thread für LAZY WRITER-Prozesse verfügt. Den Instanzen können zwar unterschiedliche Mengen an Arbeitsspeicher zugewiesen werden, aber im Unterschied zu Hardware-NUMA erhalten beide Instanzen den Arbeitsspeicher aus demselben Betriebssystem-Speicherblock und es ist keine Speicher-Prozessor-Affinität vorhanden.
Festlegen der CPU-Affinitätsmaske
Führen Sie auf Instanz A die folgende Anweisung aus, um die Instanz durch Festlegen der CPU-Affinitätsmaske für die Verwendung der CPUs 1, 2, 3 und 4 zu konfigurieren:
sp_configure 'show advanced options', 1; RECONFIGURE; GO sp_configure 'affinity mask', 15; RECONFIGURE; GO
Führen Sie auf Instanz B die folgende Anweisung aus, um die Instanz durch Festlegen der CPU-Affinitätsmaske für die Verwendung der CPUs 5, 6, 7 und 8 zu konfigurieren:
sp_configure 'show advanced options', 1; RECONFIGURE; GO sp_configure 'affinity mask', 240; RECONFIGURE; GO
Hinweis: |
---|
Der Wert für die im Beispiel verwendete Affinitätsmaske gilt für einen Computer mit einem 32-Bit-Betriebssystem. |
Zuordnen von Soft-NUMA-Knoten zu den CPUs
- Fügen Sie mithilfe des Registrierungs-Editors (regedit.exe) die folgenden zwei Registrierungsschlüssel hinzu, um den CPUs 1 und 2 den Soft-NUMA-Knoten 0, den CPUs 3 und 4 den Soft-NUMA-Knoten 1, und den CPUs 5, 6, 7 und 8 den Soft-NUMA-Knoten 2 zuzuordnen:
Schlüssel | Typ | Wertname | Wertdaten |
---|---|---|---|
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\NodeConfiguration\Node0 |
DWORD |
CPUMask |
0x03 |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\NodeConfiguration\Node1 |
DWORD |
CPUMask |
0x0c |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\NodeConfiguration\Node2 |
DWORD |
CPUMask |
0xf0 |
Siehe auch
Aufgaben
Vorgehensweise: Zuordnen von TCP/IP-Ports zu NUMA-Knoten