SQL Server waits poskytují informace o tom, co databázový stroj čeká při extrahování dotazů na monitorovaném serveru. I když existuje mnoho různých typů čekání, cxpacket waits jsou běžně nesprávně interpretované měření dat a vyžadují další objasnění.
cxpacket čeká často výsledek, když paralelizované vlákna dotazu mají nerovnoměrné pracovní zatížení, což způsobuje blok na celém dotazu, dokud není nejdelší vlákno dokončeno. Všimněte si, že spoušť pro čekání CXPACKET nenastává s paralelismem, ale s distribucí práce na jednotlivých vláknech.
Zatímco vy můžete snížit počet CXPACKET čeká snížením MAXDOP na monitorovaném serveru, je to často není doporučený postup, jak to může způsobit, že se dočkat, až zmizí a podkladového dotazu trvat déle spustit. Například tomuto problému může dojít z velké paralelní prohledávání tabulky, které si můžete ověřit pomocí jiných počkat typy na serveru, jako je PAGIOLATCH_XX. To může také vyplývat z zastaralých statistik, které způsobují špatný plán dotazů a nerovnoměrné pracovní zatížení mezi vlákny.
před úpravou MAXDOP zkontrolujte přesnost indexů a statistik a ujistěte se, že neexistují žádné další základní problémy. Pokud se rozhodnete upravit MAXDOP, doporučená nastavení zahrnují 4, 2 nebo 1. Pro systém NUMA použijte počet jader dostupných v jednom uzlu NUMA. Možná budete chtít provést tyto aktualizace na jediném dotazu namísto celé instance, abyste se vyhnuli dalším problémům.
SQLdm identifikuje a řeší problémy s výkonem serveru SQL dříve, než k nim dojde. Další informace > >