CXPacket isn’t the cause, it is a symptom

Published On: 2009-12-17By:

All to often when people deal with parallel queries they see that some threads of the query have a wait type of CXPacket so they assume that the parallel execution plan is causing a problem, but it probably isn’t.

What is causing the problem is the threads which don’t have a wait type of CXPACKET.  They probably have an IO, or Scheduler wait happening and the other threads can’t resume processing until that wait condition has been resolved.

Changing the query to only use a single thread will mask this because the query now only has a single thread so it is easier to identify the paused thread as it is the only thread running.  What you actually want to do to resolve this is look into the wait type of the thread which is still running and see what is holding up that thread, resolve that issue and the CXPACKET waits should then go away.

Denny

Contact the Author | Contact DCAC

Video

Globally Recognized Expertise

As Microsoft MVP’s and Partners as well as VMware experts, we are summoned by companies all over the world to fine-tune and problem-solve the most difficult architecture, infrastructure and network challenges.

And sometimes we’re asked to share what we did, at events like Microsoft’s PASS Summit 2015.

Awards & Certifications

Microsoft Partner       Insights Sccess Award    Technology Headlines Award    Golden Bridge Gold Award    CIO Review Top 20 Azure Solutions Providers    VMWare Partner
Microsoft Certified Master    Microsoft MVP
Share via