SQL Server waits geven informatie over waar de database-engine op wacht tijdens het extraheren van query ‘ s op een bewaakte server. Hoewel er veel verschillende wachttypen zijn, zijn cxpacket waits een vaak verkeerd geïnterpreteerd gegevensmeting en vereisen aanvullende verduidelijking.
CXPACKET wacht vaak het resultaat wanneer parallelized query threads hebben een ongelijke werkbelasting, waardoor een blok op de gehele query totdat de langst lopende thread is voltooid. Merk op dat de trigger voor het cxpacket wachten niet optreedt met parallellisme, maar met de verdeling van het werk op de afzonderlijke threads.
hoewel u het aantal cxpacket wachttijden kunt verminderen door de MAXDOP op de bewaakte server te verminderen, is dit vaak geen aanbevolen actie omdat het wachten kan verdwijnen en de onderliggende query langer kan duren om uit te voeren. Bijvoorbeeld, dit probleem kan het gevolg zijn van grote parallelle tabel scans, die u kunt controleren met behulp van andere wacht types op de server, zoals PAGIOLATCH_XX. Dit kan ook het gevolg zijn van verouderde statistieken die een slechte query plan en de ongelijke werkbelasting tussen threads veroorzaken.
voordat u MAXDOP aanpast, controleer uw indexen en statistieken op nauwkeurigheid en zorg ervoor dat er geen andere onderliggende problemen zijn. Als u ervoor kiest om MAXDOP aan te passen, zijn de aanbevolen instellingen 4, 2 of 1. Gebruik voor een NUMA-systeem het aantal beschikbare kernen in één NUMA-knooppunt. U kunt deze updates maken op de enkele query in plaats van de hele instantie om extra problemen te voorkomen.
SQLdm identificeert en lost problemen met de prestaties van SQL Server op voordat deze zich voordoen. Meer informatie > >