Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/09/2011, 16h00   #1
Membre habitué
 
Inscription : janvier 2008
Messages : 212
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 212
Points : 135
Points : 135
Par défaut affinity I/O mask Option

Je cherche des informations concernant les masques d'affinité de processeurs.

Je dispose d'un serveur en Windows 2008 R2 SP1, équipé de 12 processeurs et d'une insance SQL.

Les options SQL relatives aux processeurs sont configuré par défaut. Qu'elles sont les bonnes pratique concernant ce paramétrage ? Dans mon cas, est-ce que l'on peut configurer autrement ces paramètres ?

D'avance, merci.
Philippe Robert est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 16h23   #2
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 724
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 724
Points : 6 848
Points : 6 848
Je ne sais pas s'il y a de bonnes pratiques générales ici. Tout dépend du contexte selon moi.

Dans le cas d'un serveur multi-instance on pourrait par exemple jouer sur ce paramètre pour allouer certaines processeurs pour chaque instance.

On a le cas aussi on l'on voudrait éventuellement allouer certains processeurs pour traitrer spécifiquement les IO disques. Dans ce cas il faudra jouer à la fois avec l'option affinity mask et l'affinity IO mask.

++
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 16h49   #3
Membre chevronné
 
Inscription : juillet 2006
Messages : 1 194
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 1 194
Points : 746
Points : 746
Personnellement je ne crois pas qu'il soit utile de changer ce paramètre.
Mais si quelqu'un découvre un scénario où cela l'est, j'aimerais l'apprendre ^^
Sergejack est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 17h01   #4
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 724
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 724
Points : 6 848
Points : 6 848
Scénarios :

--> Dans le cas de plusieurs instances :

Allouer aux instances leurs propres ressources CPU pour éviter une vampirisation des ressources par une instance plus consommatrice que les autres.

--> Dans le cas d'une architecture cluster :

Prévenir une utilisation trop forte des ressources CPU par SQL Server. Le but étant de laisser un minimum de ressource pour le service cluster et le système.

++
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/09/2011, 17h14   #5
Membre chevronné
 
Inscription : juillet 2006
Messages : 1 194
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 1 194
Points : 746
Points : 746
Citation:
Envoyé par mikedavem Voir le message
Scénarios :

--> Dans le cas de plusieurs instances :

Allouer aux instances leurs propres ressources CPU pour éviter une vampirisation des ressources par une instance plus consommatrice que les autres.
Ha, oui, peut-être

Citation:
Envoyé par mikedavem Voir le message
--> Dans le cas d'une architecture cluster :

Prévenir une utilisation trop forte des ressources CPU par SQL Server. Le but étant de laisser un minimum de ressource pour le service cluster et le système.

++
Il ne suffit pas de ne pas cocher "Boost SQL Server priority" ?
Ok, là j'ai un doute sur ce que j'entends par cluster ^^


Normalement les OS et SGBD modernes sont fait pour nous faciliter et avantager la vie. J'imagine qu'il vaut mieux s'y connaître à fond avant de choisir de ne pas faire confiance aux couches logicielles quant à l'attribution des ressources.
Sergejack est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 17h17   #6
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 724
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 724
Points : 6 848
Points : 6 848
Citation:
Il ne suffit pas de ne pas cocher "Boost SQL Server priority" ?
Ah oui mais si tu fais cela c'est encore plus néfaste ... SQL Server qui te prend l'ensemble des ressources et en plus tu lui donnes encore plus de priorité ... je t'explique même pas la stabilité du système !

++
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 17h55   #7
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 791
Points : 17 791
Une utilisation très précise du masque d'affinité est la suivante :
1) SQL Server installé en machine dédiée avec rien d'autre (pas d'antivirus pas exemple)
2) un grand nombre de CPU
dans ce cas il est intéressant de dédier 75 % des CPU à SQL Server (le reste sera utilisé par Windows.
Cela va diminuer légèrement le nombre de changements de contexte.
Exemple 16 cœurs => 12 Cœurs SQL => 25% de moins de switching context...

En sus si vous utilisez les cœurs de rang bas, ce sera tout bénéfice (dans Windows, les pilotes des cartes réseaux ont tendance à être traditionnellement dédié aux processeurs de plus haut rang... vieille histoire !)

Donc, dans ce cas de figure, je ferais :
CPU 0 à 11 SQL
CPU 12 à 15 Windows !

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 07h45   #8
Membre habitué
 
Inscription : janvier 2008
Messages : 212
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 212
Points : 135
Points : 135
Merci à tous pour les informations.
Le serveur dispose de 12 processeurset il n'y a qu'une instance SQL. Je vais tenter d'allouer 9 processeurs à SQL Server.
Philippe Robert est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 07h50   #9
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 724
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 724
Points : 6 848
Points : 6 848
Effectivement avec 12 vous avez de la marge

++
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 10h03   #10
Membre chevronné
 
Inscription : juillet 2006
Messages : 1 194
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 1 194
Points : 746
Points : 746
Pourquoi avoir autre chose qui tourne sur la machine (un antivirus par exemple) invalide le choix de faire du processor affinity ?
Sergejack est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 10h26   #11
Membre du Club
 
Inscription : décembre 2002
Messages : 82
Détails du profil
Informations forums :
Inscription : décembre 2002
Messages : 82
Points : 66
Points : 66
Moi je passe par le Ressource Gouverneur pour gérer le Degree de parallélisme ...
Ca permet de faire des choses un peu plus préçise en fonction des pools d'utilisateurs.
Glouferu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 10h38   #12
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 724
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 724
Points : 6 848
Points : 6 848
Citation:
Moi je passe par le Ressource Gouverneur pour gérer le Degree de parallélisme ...
Ca permet de faire des choses un peu plus préçise en fonction des pools d'utilisateurs.
C'est effectivement une possibilité mais cela ne remplace pas le paramètrage du processor affinity. Ce dernier permet d'allouer des processeurs à l'instance elle même alors que le gouverneur de ressources concerne plus le niveau en dessous.

++
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 11h04   #13
Membre du Club
 
Inscription : décembre 2002
Messages : 82
Détails du profil
Informations forums :
Inscription : décembre 2002
Messages : 82
Points : 66
Points : 66
Citation:
Envoyé par mikedavem Voir le message
C'est effectivement une possibilité mais cela ne remplace pas le paramètrage du processor affinity. Ce dernier permet d'allouer des processeurs à l'instance elle même alors que le gouverneur de ressources concerne plus le niveau en dessous.
++
Ah ben merci de l'info, je vais faire plus de tests et certainement modifier l'affinity CPU alors pour donner plus de puissance aux cartes réseaux et HBA
Glouferu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h52.


 
 
 
 
Partenaires

Hébergement Web