Procédure : configurer SQL Serveur pour utiliser soft-NUMA
Nouveau : 5 décembre 2005
Pour configurer SQL Server afin de pouvoir utiliser soft-NUMA (Software Non-Uniform Memory Access), vous devez modifier le Registre et ajouter un masque d'affinité de configuration des nœuds. Le masque soft-NUMA peut être établi comme entrée de Registre binaire ou DWORD (hexadécimal ou décimal). Vous devez redémarrer le Moteur de base de données pour configurer soft-NUMA. Avant de configurer soft-NUMA, consultez Présentation de l'accès NUMA (Non-uniform Memory Access) et Prise en charge de la technologie NUMA dans SQL Server 2005.
une modification incorrecte du Registre peut sérieusement endommager votre système. Avant d'apporter des modifications au Registre, nous vous recommandons de sauvegarder les données importantes qui se trouvent sur l'ordinateur.
Dans cet exemple, un ordinateur avec huit UC ne possède pas d'accès NUMA matériel. Trois nœuds soft-NUMA sont configurés. L'instance A du Moteur de base de données est configurée pour utiliser les UC de 1 à 4. Une deuxième instance du Moteur de base de données est installée et configurée pour utiliser les UC de 5 à 8. L'exemple peut être représenté visuellement de la façon suivante :
CPUs 1 2 3 4 5 6 7 8
Soft-NUMA <-N0--><-N1-><----N2---->
SQL Server <instance A ><instance B>
L'instance A, confrontée à des E/S importantes, possède maintenant deux threads d'E/S et deux threads d'écriture différée, tandis que l'instance B, qui exécute des opérations nécessitant des ressources UC conséquentes, ne possède qu'un seul thread d'E/S et un seul thread d'écriture différée. Il est possible d'affecter des quantités de mémoire différentes aux instances, mais contrairement à l'accès NUMA matériel, elles reçoivent toutes deux la mémoire du même bloc mémoire du système d'exploitation et il n'existe pas d'affinité entre la mémoire et le processeur.
Définir le masque d'affinité de l'UC
Exécutez l'instruction suivante sur l'instance A de façon à la configurer pour qu'elle utilise les UC 1, 2, 3 et 4 en définissant le masque d'affinité de l'UC :
sp_configure 'show advanced options', 1; RECONFIGURE; GO sp_configure 'affinity mask', 15; RECONFIGURE; GO
Exécutez l'instruction suivante sur l'instance B de façon à la configurer pour qu'elle utilise les UC 5, 6, 7 et 8 en définissant le masque d'affinité de l'UC :
sp_configure 'show advanced options', 1; RECONFIGURE; GO sp_configure 'affinity mask', 240; RECONFIGURE; GO
Remarque : |
---|
Dans cet exemple, la valeur du masque d'affinité s'applique à un ordinateur équipé d'un système d'exploitation 32 bits. |
Mapper les nœuds soft-NUMA aux UC
- À l'aide de l'Éditeur du Registre (regedit.exe), ajoutez les deux clés de Registre suivantes pour mapper le nœud soft-NUMA 0 aux UC 1 et 2, le nœud soft-NUMA 1 aux UC 3 et 4, et le nœud soft-NUMA 2 aux UC 5, 6, 7 et 8 :
Clé | Type | Nom de valeur | Données de valeur |
---|---|---|---|
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 |
Voir aussi
Tâches
Procédure : mapper les ports TCP/IP aux nœuds NUMA