Pool de ressources du gouverneur de ressources
Dans le gouverneur de ressources SQL Server, un pool de ressources représente un sous-ensemble des ressources physiques d'une instance du Moteur de base de données. Chaque pool de ressources peut contenir un ou plusieurs groupes de charge de travail. Lorsqu'une session est démarrée, le classifieur du gouverneur de ressources affecte la session à un groupe de charge de travail spécifique, et la session doit s'exécuter à l'aide des ressources attribuées au groupe de charge de travail.
Concepts autour des pools de ressources
Un pool de ressources, ou pool, représente les ressources physiques du serveur. Vous pouvez envisager un pool comme une instance SQL Server virtuelle dans une instance SQL Server.
Un pool a deux parties. Une partie ne se chevauche pas avec les autres pools, ce qui permet de conserver un minimum de ressources. L'autre partie est partagée avec d'autres pools et prend en charge la consommation maximale des ressources possible. Dans cette version du gouverneur de ressources, les ressources du pool sont définies en spécifiant l'un des éléments suivants pour chaque ressource :
MIN, MAX ou CAP de l'UC
MIN ou MAX de la mémoire
Les valeurs MIN et MAX représentent les ressources minimales garanties disponibles du pool et la taille maximale de celui-ci, respectivement, pour chacune de ces ressources.
La valeur CAP de l'UC représente un maximum ne pouvant pas être dépassé. Toute capacité disponible de l'UC au-delà de cette valeur ne sera pas utilisée.
La somme des valeurs MIN pour l'ensemble des pools ne peut pas dépasser 100 pour cent des ressources de serveur. Les valeurs MAX et CAP peuvent prendre n'importe quelle valeur comprise entre la valeur MIN et 100 pour cent inclus.
Si un pool comporte une valeur MIN différente de zéro, la valeur MAX effective d'autres pools est réajustée. La valeur minimale de la valeur MAX configurée d'un pool et de la somme des valeurs MIN d'autres pools est soustraite de 100 %.
Le tableau suivant illustre les concepts précédents. Le tableau contient les paramètres pour le pool interne, le pool par défaut et deux pools définis par l'utilisateur. Les formules suivantes sont utilisées pour calculer le pourcentage maximal et le pourcentage partagé effectifs.
Min(X,Y) signifie la valeur plus petite de X et Y.
Sum(X) signifie la somme de la valeur X pour tous les pools.
Total % partagé = 100 - sum(MIN %).
% maximal effectif = min(X,Y).
% partagé = % MAX - % MIN effectifs.
Nom du pool |
Paramètre % MIN |
Paramètre % MAX |
% MAX effectif calculé |
% partagé calculé |
Commentaire |
---|---|---|---|---|---|
interne |
0 |
100 |
100 |
0 |
Les valeurs effectives % MAX et % partagé ne sont pas applicables au pool interne. |
valeur par défaut |
0 |
100 |
30 |
30 |
La valeur MAX effective est calculée comme suit : min(100,100-(20+50)) = 30. Le % partagé calculé est effective MAX - MIN = 30. |
Pool 1 |
20 |
100 |
50 |
30 |
La valeur MAX effective est calculée comme suit : min(100,100-50) = 50. Le % partagé calculé est Effective MAX - MIN = 30. |
Pool 2 |
50 |
70 |
70 |
20 |
La valeur MAX effective est calculée comme suit : min(70,100-20) = 70. Le % partagé calculé est Effective MAX - MIN = 20. |
À l'aide du tableau précédent en exemple, il est possible d'illustrer davantage les réglages qui s'opèrent à la création d'un autre pool. Ce pool est Pool 3 et a un paramètre % MIN de 5.
Nom du pool |
Paramètre % MIN |
Paramètre % MAX |
% MAX effectif calculé |
% partagé calculé |
Commentaire |
---|---|---|---|---|---|
interne |
0 |
100 |
100 |
0 |
Les valeurs effectives % MAX et % partagé ne sont pas applicables au pool interne. |
valeur par défaut |
0 |
100 |
25 |
25 |
La valeur MAX effective est calculée comme suit : min(100,100-(20+50+5)) = 25. Le % partagé calculé est Effective MAX - MIN = 25. |
Pool 1 |
20 |
100 |
45 |
25 |
La valeur MAX effective est calculée comme suit : min(100,100-55) = 45. Le % partagé calculé est Effective MAX - MIN = 25. |
Pool 2 |
50 |
70 |
70 |
20 |
La valeur MAX effective est calculée comme suit : min(70,100-25) = 70. Le % partagé calculé est effective MAX - MIN = 20. |
Pool 3 |
5 |
100 |
30 |
25 |
La valeur MAX effective est calculée comme suit : min(100,100-70) = 30. Le % partagé calculé est effective MAX - MIN = 25. |
La partie partagée du pool est utilisée pour indiquer la destination des ressources disponibles si des ressources sont disponibles. Toutefois, lorsque les ressources sont consommées, elles sont acheminées vers le pool spécifié et ne sont pas partagées. Cette procédure peut améliorer l'utilisation des ressources en l'absence de demandes dans un pool donné et elle permet de libérer les ressources configurées du pool pour d'autres pools.
Certains cas extrêmes de configuration de pool sont :
Tous les pools définissent des valeurs minimales qui représentent 100 pour cent du total des ressources du serveur. Dans ce cas, les valeurs maximales effectives sont égales aux valeurs minimales. Cela revient à diviser les ressources de serveur en portions qui ne se chevauchent pas indépendamment des ressources consommées dans un pool donné.
Tous les pools ont des valeurs minimales nulles. Tous les pools sont en concurrence pour les ressources disponibles et leurs tailles finales sont basées sur la consommation des ressources dans chaque pool. D'autres facteurs tels que les stratégies jouent un rôle dans la définition de la taille finale du pool.
Le gouverneur de ressources prédéfinit deux pools de ressources, le pool interne et le pool par défaut.
Pool interne
Le pool interne représente les ressources consommées par SQL Server. Ce pool contient toujours uniquement le groupe interne, et il est impossible de le modifier. La consommation des ressources par le pool interne n'est pas restreinte. Toutes les charges de travail dans le pool sont considérées comme critiques pour la fonction de serveur, et le gouverneur de ressources permet au pool interne de contraindre d'autres pools même si cela implique la violation des limites définies pour les autres pools.
[!REMARQUE]
L'utilisation des ressources de pool interne et de groupe interne n'est pas soustraite de l'utilisation des ressources totales. Les pourcentages sont calculés à partir des ressources totales disponibles.
Pool par défaut
Le pool par défaut est le premier pool d'utilisateur prédéfini. Avant toute configuration, le pool par défaut contient seulement le groupe par défaut. Le pool par défaut ne peut pas être créé ou supprimé mais il peut être modifié. Le pool par défaut peut contenir des groupes définis par l'utilisateur en plus du groupe par défaut.
[!REMARQUE]
Le groupe par défaut est modifiable mais il ne peut pas être déplacé hors du pool par défaut.
Pools de ressources définis par l'utilisateur
Le gouverneur de ressources fournit des instructions DDL pour créer, changer et supprimer des pools de ressources.
Tâches du pool de ressources
Description de la tâche |
Rubrique |
---|---|
Décrit comment créer un pool de ressources. |
|
Décrit comment modifier les paramètres du pool de ressources. |
|
Décrit comment supprimer un pool de ressources. |
Voir aussi
Concepts
Groupe de charge de travail du gouverneur de ressources
Fonction classifieur du gouverneur de ressources