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 13/01/2012, 11h26   #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 Problème avec le gouverneur de ressource

Bonjour et meilleurs voeux,


J'ai configuré le gouverneur de ressource sur un serveur de test, en SQL 2008 SP1 64 bits.

J'ai créé deux pools, Pool1 et Pool2.

En ce qui concerne Pool1, j'ai indiqué une valeur minimale pour le CPU de 0 et une valeur maximale de 100. Pool2 est configuré quant à lui, avec 10 et 15.

La redirection dans les pools concernés fonctionnent bien. Par contre, le gouverneur de ressource ne semble pas tenir compte de la limite de 15% que j'ai fixé pour pool2. Ce seuil est largement franchi lorsque je lance des requêtes gourmandes en ressouces.

Ci-dessous les scripts de configuration des pools:

Code :
1
2
3
4
CREATE RESOURCE POOL [pool1] WITH(min_cpu_percent=0, 
		max_cpu_percent=100, 
		min_memory_percent=0, 
		max_memory_percent=100)
Code :
1
2
3
4
CREATE RESOURCE POOL [pool2] WITH(min_cpu_percent=10, 
		max_cpu_percent=15, 
		min_memory_percent=0, 
		max_memory_percent=20)
et des groupes de charge de travail :

Code :
1
2
3
4
5
6
CREATE WORKLOAD GROUP [gPool1] WITH(group_max_requests=0, 
		importance=Medium, 
		request_max_cpu_time_sec=0, 
		request_max_memory_grant_percent=25, 
		request_memory_grant_timeout_sec=0, 
		max_dop=0) USING [pool1]
Code :
1
2
3
4
5
6
CREATE WORKLOAD GROUP [gPool2 WITH(group_max_requests=3, 
		importance=Medium, 
		request_max_cpu_time_sec=0, 
		request_max_memory_grant_percent=25, 
		request_memory_grant_timeout_sec=0, 
		max_dop=0) USING [pool2]

Je vous remercie d'avance pour toutes vos suggestions.
Philippe Robert est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2012, 13h04   #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
Bonjour,

Les paramètres max_cpu_percent et min_cpu_percent ne sont pris en compte que lorsqu'il existe une contention CPU au niveau du serveur sur l'ensemble des pools de ressources. C'est la partie partagée des pools (au contraire des paramètres de mémoires).

Si tu lances uniquement des requêtes consommatrices de CPU sur le pool2 il y a de grandes chances que celles-ci prennent plus de CPU que le seuil indiqué surtout si le pool1 n'en demande pas.

En revanche si la charge globale entre tes pools provoque une contention CPU, le gouverneur de ressources fera en sorte de limiter la consommation du pool2 à 15% (si le pool1 demande plus de ressources CPU).

La matrice de dimensionnement de tes pools donnerait ceci en principe :


Code :
1
2
3
4
pool	%min	%max	%max effectif	%partage
DEFAULT	0	100	90		90
pool1	0	100	90		90
pool2	10	15	15		5
++
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2012, 16h04   #3
Membre habitué
 
Inscription : janvier 2008
Messages : 212
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 212
Points : 135
Points : 135
Merci.
Philippe Robert est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h22.


 
 
 
 
Partenaires

Hébergement Web