Configuration du serveur : seuil de coût pour le parallélisme
S'applique à : SQL Server
Cet article explique comment configurer l’option de configuration du cost threshold for parallelism
serveur dans SQL Server à l’aide de SQL Server Management Studio ou de Transact-SQL. L’option cost threshold for parallelism
spécifie le seuil auquel SQL Server crée et exécute des plans parallèles pour les requêtes. SQL Server crée et exécute un plan parallèle pour une requête uniquement lorsque le coût estimé pour exécuter un plan série pour la même requête est supérieur à la valeur définie dans cost threshold for parallelism
. Ce coût est une estimation pour l’exécution du plan de série sur une configuration matérielle spécifique. Ce n’est pas une unité de temps. L’option cost threshold for parallelism
peut être définie sur n’importe quelle valeur comprise entre 0 et 32767.
Limites
Ce coût est une unité de coût abstraite et non une unité de temps estimé. cost threshold for parallelism
Défini uniquement sur des multiprocesseurs symétriques.
SQL Server ignore la cost threshold for parallelism
valeur dans les conditions suivantes :
L'ordinateur ne dispose que d'un seul processeur logique.
Un seul processeur logique est disponible pour SQL Server en raison de l’option
affinity mask
de configuration.L’option
max degree of parallelism
est définie sur1
.
Un processeur logique correspond à l'unité de base d'un processeur qui permet au système d'exploitation de distribuer une tâche ou d'exécuter un contexte de thread. Chaque processeur logique peut exécuter uniquement un contexte de thread à la fois. Le cœur du processeur est le circuit qui décode et exécute des instructions. Un cœur de processeur peut contenir un ou plusieurs processeurs logiques. La requête Transact-SQL suivante peut être utilisée pour obtenir les informations du processeur pour le système.
SELECT (cpu_count / hyperthread_ratio) AS PhysicalCPUs,
cpu_count AS logicalCPUs
FROM sys.dm_os_sys_info;
Recommandations
Seul un administrateur de base de données qualifié ou un spécialiste agréé doit changer cette option avancée SQL Server.
Dans certains cas, un plan parallèle peut être choisi même si le plan de coût de la requête est inférieur à la valeur actuelle cost threshold for parallelism
. Cela s’explique par le fait que la décision d’utiliser un plan parallèle ou un plan en série est basée sur une estimation de coût fournie au début du processus d’optimisation. Pour plus d’informations, consultez le Guide d’architecture de traitement des requêtes.
Bien que la valeur par défaut soit 5
suffisante pour la plupart des systèmes, une valeur différente peut être appropriée. Effectuez des tests d’application avec des valeurs supérieures et inférieures si nécessaire, afin d’optimiser les performances de l’application.
autorisations
Les autorisations d’exécution de sp_configure
, sans paramètre ou avec le premier paramètre uniquement, sont accordées par défaut à tous les utilisateurs. Pour exécuter sp_configure
avec les deux paramètres afin de modifier une option de configuration ou pour exécuter l’instruction RECONFIGURE
, un utilisateur doit disposer de l’autorisation ALTER SETTINGS
au niveau du serveur. L’autorisation ALTER SETTINGS
est implicitement détenue par les rôles serveur fixes sysadmin et serveradmin.
Utiliser SQL Server Management Studio
Dans l’Explorateur d’objets, cliquez avec le bouton droit sur un serveur et sélectionnez Propriétés.
Cliquez sur le nœud Avancé.
Sous Parallélisme, remplacez l’option
cost threshold for parallelism
par la valeur souhaitée. Tapez ou sélectionnez une valeur comprise entre 0 et 32 767.
Utiliser Transact-SQL
Cet exemple montre comment utiliser sp_configure pour attribuer à l’option cost threshold for parallelism
la valeur 10
.
USE master;
GO
EXECUTE sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'cost threshold for parallelism', 10;
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'show advanced options', 0;
GO
RECONFIGURE;
GO
Pour plus d’informations, consultez l’article Options de configuration du serveur.
Suivi : après avoir configuré le seuil de coût pour l’option parallélisme
Le paramètre prend effet immédiatement sans redémarrage du serveur.