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
Microsoft 365 Tenant Resilience
Face aux failles de résilience des tenants M365 (configurations, privilèges, sauvegarde). Découvrez 5 piliers pour durcir, segmenter et surveiller vos environnements afin de limiter l’impact des attaques. Prioriser vos chantiers cyber et améliorer la résilience de vos tenants Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Pourquoi la souveraineté des données relève du contrôle et non de la géographie
- L’incident OpenAI–Hugging Face n’est pas la révolution que vous imaginez
- Pourquoi les PME ne peuvent plus se permettre de négliger la sécurité de leur parc d’imprimantes
- Ransomware : les identités compromises à l’origine de 79% des attaques
Articles les + lus
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
À la une de la chaîne Tech
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
