CXPACKET wait type actions

SQL Server waits fornisce informazioni su ciò che il motore di database è in attesa durante l’estrazione delle query su un server monitorato. Mentre ci sono molti diversi tipi di attesa, CXPACKET attese sono una misura di dati comunemente male interpretato e richiedono ulteriori chiarimenti.

Le attese di CXPACKET spesso risultano quando i thread di query parallelizzati hanno un carico di lavoro disuguale, causando un blocco sull’intera query fino al completamento del thread più lungo. Si noti che il trigger per l’attesa CXPACKET non si verifica con il parallelismo, ma con la distribuzione del lavoro sui singoli thread.

Mentre è possibile ridurre il numero di attese di CXPACKET riducendo il MAXDOP sul server monitorato, questa spesso non è una linea d’azione raccomandata in quanto potrebbe causare la scomparsa dell’attesa e la query sottostante richiedere più tempo per l’esecuzione. Ad esempio, questo problema potrebbe derivare da scansioni di tabelle parallele di grandi dimensioni, che è possibile verificare utilizzando altri tipi di attesa sul server, come PAGIOLATCH_XX. Ciò può anche derivare da statistiche non aggiornate che causano un piano di query errato e un carico di lavoro disuguale tra i thread.

Prima di regolare MAXDOP, rivedere gli indici e le statistiche per la precisione e assicurarsi che non ci siano altri problemi sottostanti. Se si sceglie di regolare MAXDOP, le impostazioni consigliate includono 4, 2 o 1. Per un sistema NUMA, utilizzare il numero di core disponibili in un singolo nodo NUMA. È possibile effettuare questi aggiornamenti sulla singola query anziché sull’intera istanza per evitare ulteriori problemi.

SQLdm identifica e risolve i problemi di prestazioni di SQL Server prima che si verifichino. Scopri di più > >

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

More: