Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
s’applique à :SQL Server
Azure SQL Managed Instance
Cet article décrit comment configurer l’option de configuration du serveur cost threshold for parallelism dans SQL Server à l’aide de SQL Server Management Studio ou Transact-SQL.
À propos du seuil de coût pour le parallélisme
L’option cost threshold for parallelism spécifie le seuil auquel SQL Server considère les plans parallèles sur les ordinateurs avec plusieurs processeurs logiques. L’option cost threshold for parallelism peut être définie sur n’importe quelle valeur comprise entre 0 et 32 767.
Le coût est la somme des coûts d’opérateur estimés dans un plan de requête (par exemple, processeur et E/S). Il s’agit d’une mesure relative utilisée uniquement pour la sélection de plan ; elle ne mesure pas le runtime réel.
Certains composants Transact-SQL peuvent empêcher un plan parallèle. Par exemple, les fonctions scalaires scalaires non modifiables définies par l’utilisateur (UDF), les modifications des variables de table et certains appels système. SQL Server évalue les alternatives parallèles uniquement lorsque le coût estimé du meilleur plan série dépasse la cost threshold for parallelism valeur, puis peut choisir un plan parallèle moins cher.
Limites
SQL Server ignore la valeur cost threshold for parallelism 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 de configuration
affinity mask.L’option de configuration du
max degree of parallelismserveur est définie sur1.
Recommandations
Cette option est une option avancée et doit être modifiée uniquement par un professionnel de base de données expérimenté.
La valeur par défaut est un point de 5 départ, et non une recommandation. Sur les systèmes SQL Server modernes, le déclenchement peut aider à maintenir des requêtes OLTP plus petites en cours d’exécution avec des plans série. Utilisez de petits incréments et observez un cycle d’activité complet avant d’autres modifications. Effectuez des tests d’application avec des valeurs supérieures et inférieures si nécessaire, afin d’optimiser les performances de l’application.
Note
Dans Azure SQL Database, vous ne pouvez pas définir cost threshold for parallelism. Utilisez MAXDOP plutôt pour contrôler le parallélisme. Pour plus d’informations, consultez Modification de MAXDOP par défaut dans Azure SQL Database et Azure SQL Managed Instance.
Dans certains cas, un plan parallèle peut être choisi même si le coût du plan de la requête est inférieur à la valeur actuelle cost threshold for parallelism . La décision d’utiliser un plan parallèle ou série est basée sur une estimation des coûts fournie précédemment dans le processus d’optimisation. Pour plus d’informations, consultez le Guide d’architecture de traitement des requêtes.
Remarques
Pour voir si l’option de configuration du cost threshold for parallelism serveur est définie trop élevée ou trop faible pour votre charge de travail, recherchez les indicateurs suivants.
| Seuil de coût pour le paramètre de parallélisme | Descriptif |
|---|---|
| Trop faible | - Trop de requêtes de lumière processeur sont parallèles. - Dans le Magasin des requêtes, de nombreux plans ont is_parallel_plan la valeur 1.- CXPACKET et CXCONSUMER dominent les statistiques de type d’attente. Vous pouvez également voir THREADPOOL et SOS_SCHEDULER_YIELD attendre. |
| Trop élevé | - Les requêtes gourmandes en uc de la charge de travail ne sont pas suffisantes et l’utilisation du processeur est plus élevée que optimale par conséquent. - SOS_SCHEDULER_YIELD domine les statistiques de type d’attente. |
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, modifiez l’option
cost threshold for parallelismen fonction de 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 définir la valeur sur cost threshold for parallelism20.
USE master;
GO
EXECUTE sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'cost threshold for parallelism', 20;
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é l’option cost threshold for parallelism
Le paramètre prend effet immédiatement sans redémarrage du serveur.