La procédure sp_configure permet de régler les principaux paramètres pour piloter la gestion des processeurs. De plus le tag MAXDOP permet de limiter l’usage de plusieurs processeurs. Nous avons vu que SQL Server utilisait peu l’OS puisqu’il utilise son propre OS "SQL OS". Nous en avions déduit que contrairement à
4.3 – Réglages au niveau des processeurs
d’autres applications (IIS par exemple) il était parfaitement logique d’assigner 3/4 des ressources RAM à SQL Server et 1/4 à l’OS (swith /3GB dans le fichier boot.ini). Il en est de même pour les processeurs.
SQL Server installé sur une machine dédiée n’a besoin que de 75 % des processeurs physiques. Ainsi, à partir du quadri processeur, il est intéressant de dédier à SQL Server, certains processeurs pour laisser les autres à disposition de l’OS. La répartition de fait à l’aide du paramètre "affinity mask" de la procédure stockée sp_configure. Un masque d’affinité est une combinaison de bits qui indique par un 1 si le processeur de rang n est utilisé par SQL Server, sinon à 0 c’est l’OS qui l’utilisera. Ainsi pour indiquer à SQL Server que les processeurs 0, 1 et 2 lui sont réservés (et que par conséquent le processeur 3 sur un système quadri est utilisé par l’OS) alors il faut donner au paramètre "affinity mask" la valeur 7 obtenue par la somme de 20 + 21 + 22. Attention : dédiez toujours les processeurs de poids faible (0, 1, 2…) à SQL Server et ceux de poids forts (… n-2, n-1, n) à l’OS. En effet, le processeur de poids le plus fort est la plupart du temps utilisé par les cartes réseaux. Or c’est la seule action que SQL dédie à l’OS !
Même si vous avez dédié à SQL Server 6 processeurs sur 8, vous pouvez exiger qu’aucune requête ne prenne plus de 4 processeurs par exemple. Cela fluidifiera les petites requêtes au détriment du temps de réponse des grosses. C’est possible à l’aide du paramètre "max degree of parallelism" modifiable par la procédure stockée sp_configure. Vous pouvez aussi définir le coût minimum18 à partir duquel le parallélisme va entrer en jeu. C’est le paramètre "cost threshold for parallelism" de la même procédure. N’oubliez pas qu’un traitement parallèle engendre un travail plus important qu’en série. Il y a donc gain sur la durée, mais perte sur la consommation des ressources. Enfin, le tag MAXDOP peut être utilisé dans une requête pour lui indiquer de ne pas utiliser plus de n processeurs pour être traité. Cela se fait dans la clause OPTION de la requête, clause spécifique à SQL Server.
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Adaptation climatique : les entreprises accélèrent, mais peinent à mesurer l’impact financier
- Data centers : 31 600 milliards de dollars d’investissements d’ici 2050, l’énergie au cœur de la nouvelle géographie du calcul
- Analyse Patch Tuesday Septembre 2026
- Agents fantômes en EMEA : l’IA s’emballe, les conseils d’administration s’inquiètent
Articles les + lus
Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
Sécurité : une approche dans la durée avant tout
Guide Ultime des Raccourcis Clavier Windows 11 pour les Professionnels IT
Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
Model Context Protocol : le contexte, grand oublié du débat
À la une de la chaîne Tech
- Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
- Sécurité : une approche dans la durée avant tout
- Guide Ultime des Raccourcis Clavier Windows 11 pour les Professionnels IT
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Model Context Protocol : le contexte, grand oublié du débat
