See Also: Main_Page - Performance Tuning - Wait Types

This article is the Collaboration of the Month for February 2010. Find out how it can be improved, read how to edit articles, then jump in to make this an article we can be proud of!


High numbers of CXPACKET waits can mean that queries are being broken up into multiple threads (parallelism), but some of the threads are finishing before the others.

Steps to Troubleshoot

There's two ways to fix high CXPACKET numbers: reduce the number of threads each query is using, or fix why some of the threads return slowly.

As Denny Cherry points out in his article, "CXPACKET isn't the cause, it's a symptom, CXPACKET by itself may not be a problem. Find out why one of the threads isn't finishing as quickly as the rest, and troubleshoot that. For example, if a query hits several different data files, and one of the files is on a very slow SAN array, you'll need to make that SAN array faster or move the data off of it. Reducing the number of threads the query uses won't make the query finish faster, because it'll still be waiting on that slow SAN array no matter what.

Related Reading on CXPACKET Waits

See Also: Main_Page - Performance Tuning - Wait Types