Procedura: Configurazione di SQL Server per l'utilizzo di Soft-NUMA
Per configurare SQL Server per l'utilizzo di Soft-NUMA (Software Non-Uniform Memory Access), è necessario modificare il Registro di sistema per aggiungere una maschera di affinità di configurazione dei nodi. La maschera Soft-NUMA può essere dichiarata come voce del Registro di sistema binaria o DWORD (esadecimale o decimale). È necessario riavviare Motore di database per configurare Soft-NUMA. Prima di configurare Soft-NUMA, vedere Informazioni sull'architettura NUMA (Non-Uniform Memory Access) e Modifiche che consentono il supporto NUMA in SQL Server.
Se il Registro di sistema viene modificato in modo non appropriato, il sistema potrebbe venire gravemente danneggiato. Prima di modificare il Registro di sistema, è consigliabile eseguire il backup di tutti i dati importanti disponibili nel computer.
In questo esempio, un computer con otto CPU non dispone di NUMA hardware. Vengono configurati tre nodi soft-NUMA. L'istanza A del Motore di database viene configurata in modo da utilizzare le CPU da 1 a 4. Una seconda istanza del Motore di database viene installata e configurata in modo da utilizzare le CPU da 5 a 8. Questo esempio può essere rappresentato visivamente come segue:
CPUs 1 2 3 4 5 6 7 8
Soft-NUMA <-N0--><-N1-><----N2---->
SQL Server <instance A ><instance B>
L'istanza A che presenta un I/O significativo, ha ora due thread di I/O e due thread Lazywriter mentre l'istanza B che esegue operazioni con utilizzo elevato del processore ha solo un thread di I/O e un thread Lazywriter. È possibile assegnare alle istanze diverse quantità di memoria ma, a differenza di quanto avviene in NUMA hardware, entrambe le istanze ricevono memoria dallo stesso blocco di memoria del sistema operativo e non è presente affinità tra memoria e processore.
Impostazione della maschera di affinità della CPU
Eseguire l'istruzione seguente sull'istanza A per configurarla per l'utilizzo delle CPU 1, 2, 3 e 4 impostando la maschera di affinità della CPU:
sp_configure 'show advanced options', 1; RECONFIGURE; GO sp_configure 'affinity mask', 15; RECONFIGURE; GO
Eseguire l'istruzione seguente sull'istanza B per configurarla per l'utilizzo delle CPU 5, 6, 7 e 8 impostando la maschera di affinità della CPU:
sp_configure 'show advanced options', 1; RECONFIGURE; GO sp_configure 'affinity mask', 240; RECONFIGURE; GO
[!NOTA]
Il valore della maschera di affinità riportato nell'esempio si applica a un computer con un sistema operativo a 32 bit.
Mapping dei nodi Soft-NUMA alle CPU
Utilizzando l'Editor del Registro di sistema (regedit.exe), aggiungere le due chiavi del Registro di sistema seguenti per eseguire il mapping del nodo Soft-NUMA 0 alle CPU 1 e 2, del nodo Soft-NUMA 1 alle CPU 3 e 4 e del nodo Soft-NUMA 2 alle CPU 5, 6, 7 e 8:
SQL Server 2005
Tipo
Nome del valore
Dati del valore
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
SQL Server 2008
Tipo
Nome del valore
Dati del valore
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\NodeConfiguration\Node0
DWORD
CPUMask
0x03
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\NodeConfiguration\Node1
DWORD
CPUMask
0x0c
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\NodeConfiguration\Node2
DWORD
CPUMask
0xf0
Vedere anche