Aller au contenu principal

Attentes CXPACKET / CXSYNC_PORT élevées dans SQL Server

Dépannage

Problème

Lors de la surveillance des sessions SQL Server pendant l’exécution de SEI, un grand nombre d’attentes CXPACKET et/ou CXSYNC_PORT peuvent apparaître, souvent avec des temps d’attente élevés.

Cause

CXSYNC_PORT est un type d’attente plus granulaire introduit dans Azure SQL Database et SQL Server 2022 ; dans les versions antérieures, il est regroupé sous CXPACKET. Ces deux types d’attente indiquent que SQL Server consacre du temps à la coordination de l’exécution parallèle des requêtes.

Ces attentes sont courantes et ne sont pas nécessairement problématiques. Elles deviennent préoccupantes lorsque le temps d’attente d’une requête est nettement supérieur à son temps CPU, ce qui suggère que la requête a passé trop de temps en attente de threads parallèles.

Ce comportement est généralement lié à un manque de ressources CPU ou à des requêtes utilisant un degré de parallélisme élevé. L’interprétation de ces attentes peut être délicate : réduire le parallélisme peut diminuer les temps d’attente, mais n’améliore pas toujours les performances globales.

Solution

Actions recommandées :

  • Identifier les requêtes provenant de charges de travail concurrentes (y compris SEI) qui utilisent un degré de parallélisme élevé. Examiner leurs plans d’exécution et envisager de réduire le parallélisme si nécessaire, en gardant à l’esprit que cela peut affecter les performances.
  • Vérifier que les statistiques et les index des tables impliquées dans les requêtes à forte attente sont à jour et optimisés. Améliorer l’efficacité des requêtes réduit la charge globale sur l’instance SQL Server.