Server configuration: affinity I/O mask
S’applique à : SQL Server
Pour réaliser les travaux multitâches, Windows déplace parfois les threads de processus entre les différents processeurs. Bien qu’efficace du point de vue du système d’exploitation, cette activité peut réduire les performances de SQL Server sous des charges de système intenses, car des données sont rechargées de façon répétée dans chaque cache de processeur. L'affectation de processeurs à des threads spécifiques peut améliorer les performances sous ces conditions en éliminant les rechargements de processeur ; une telle association entre un thread et un processeur est qualifiée d'affinité de processeur.
SQL Server prend en charge l’affinité du processeur avec deux options de masque d’affinité : affinity mask
(également appelé CPU affinity mask) et affinity I/O mask
. Pour plus d’informations sur l’option affinity mask
, consultez Configurer l’option de configuration du serveur affinity mask. La prise en charge de l’affinité du processeur et d’E/S pour les serveurs dotés de 33 à 64 processeurs nécessite l’utilisation supplémentaire des options option de configuration du serveur affinity64 mask et affinity64 I/O mask, respectivement.
Remarque
La prise en charge de l'affinité pour les serveurs dotés de 33 à 64 processeurs est uniquement disponible sur les systèmes d'exploitation 64 bits.
L’option affinity I/O mask
lie les E/S disque de SQL Server à un sous-ensemble de processeurs spécifié. Dans les environnements de traitement transactionnel en ligne (OLTP) SQL Server haut de gamme, cette extension permet d'améliorer les performances des threads SQL Server émettant des E/S. Cette amélioration ne prend pas en charge l'affinité matérielle pour les disques ou les contrôleurs de disques individuels.
La valeur de affinity I/O mask
spécifie quels processeurs dans un ordinateur multiprocesseur sont éligibles pour le traitement d’opérations d’E/S disque SQL Server . Le masque est un bitmap dans lequel le bit le plus à droite spécifie le processeur d'ordre le plus bas CPU(0), le bit à sa gauche immédiate spécifie le processeur d'ordre le plus bas suivant CPU(1), etc. Pour configurer plus de 32 processeurs, définissez à la fois affinity I/O mask
et affinity64 I/O mask
.
Les valeurs de l'option affinity I/O mask
sont les suivantes :
Octets dans le masque | Nombre d'unités centrales |
---|---|
1 octet | Jusqu’à 8 processeurs |
2 octets | Jusqu’à 16 processeurs |
3 octets | Jusqu’à 24 processeurs |
4 octets | Jusqu’à 32 processeurs |
Si vous disposez de plus de 32 processeurs, configurez un affinity I/O mask
à 4 octets pour les 32 premiers processeurs et un affinity64 I/O mask
à 4 octets pour les processeurs restants.
Un bit 1
dans le modèle d’affinité d’E/S spécifie que le processeur correspondant est éligible pour effectuer des opérations d’E/S de disque SQL Server. Un bit 0
spécifie qu’aucune opération d’E/S de disque SQL Server ne doit être planifiée pour le processeur correspondant. Lorsque tous les bits sont définis sur 0
ou que affinity I/O mask
n’est pas spécifié, l’E/S disque de SQL Server est confiée à n’importe lequel des processeurs éligibles au traitement de threads SQL Server .
Le paramétrage de l’option SQL Server affinity I/O mask
étant une opération spécialisée, elle ne doit être utilisée qu’exceptionnellement. Dans la plupart des cas, l'option d'affinité par défaut de Windows offre des performances optimales.
Lorsque vous spécifiez l’option affinity I/O mask
, vous devez l’utiliser avec l’option de configuration affinity mask
. N’activez pas sur le même processeur le commutateur affinity I/O mask
et l’option affinity mask
. Les bits correspondant à chaque processeur doivent être dans l'un des trois états suivants :
0
à la fois dans l’optionaffinity I/O mask
et l’optionaffinity mask
.1
dans l’optionaffinity I/O mask
et0
dans l’optionaffinity mask
.0
dans l’optionaffinity I/O mask
et1
dans l’optionaffinity mask
.
L’option affinity I/O mask
est une option avancée. Si vous utilisez la procédure stockée système sp_configure
pour changer sa valeur, vous ne pouvez modifier l’option affinity I/O mask
que si l’option show advanced options
est définie sur 1
. Dans SQL Server, reconfigurer l’option affinity I/O mask
requiert un redémarrage de l’instance SQL Server .
Attention
Évitez de configurer l'affinité de processeur dans le système d'exploitation Windows et affinity mask
dans SQL Server. Ces paramètres tentent d'obtenir le même résultat et, si les configurations sont incohérentes, les résultats risquent d'être imprévisibles. L’affinité processeur de SQL Server est mieux configurée à l’aide de la procédure stockée système sp_configure
dans SQL Server.