> Tech > 4.3 – Réglages au niveau des processeurs

4.3 – Réglages au niveau des processeurs

Tech - Par iTPro - Publié le 24 juin 2010
email

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 gratuitement cette ressource

Protection des Données : 10 Best Practices

Protection des Données : 10 Best Practices

Le TOP 10 des meilleures pratiques, processus et solutions de sécurité pour mettre en œuvre une protection efficace des données et limiter au maximum les répercutions d’une violation de données.

Tech - Par iTPro - Publié le 24 juin 2010