I know that this is slighty a 'depends' question but our server is heaver user transactional server.Our SQL 2008R2 server has a Xeon 5765, so that's 2 phsyicals CPUs 6 cores each and hyperthreading.So in SSMS that shows as NUMA Node 0 with 0-11 processors and NUMA Node 1 with 12-23 processors.

As a percentage we get a lots of CXPACKETS so I have changed MAXDOP from the default of 0 to 12,

CXPACKETS have dropped now, but should I reduce the value futher, as this MS article is not compeltely clear to me?

MS article http://support.microsoft.com/kb/329204 says•For servers that use more than eight processors, use the following configuration: MAXDOP=8. •For servers that have eight or less processors, use the following configuration where N equals the number of processors: MAXDOP=0 to N.•For servers that have NUMA configured, MAXDOP should not exceed the number of CPUs that are assigned to each NUMA node. •For servers that have hyper-threading enabled, the MAXDOP value should not exceed the number of physical processors

So with all of these rules does this mean that I should set it to a value of 2, (when looking at the last rule)I guess it depends on the exact meaning of 'processors'.

It should say "physical cores" instead of "physical processors." I would set it to 6 for the number of physical cores per NUMA node. If you're still seeing too much parallelism for your taste look into increasing the Cost Threshold for Parallelism.

__________________________________________________________________________________________________There are no special teachers of virtue, because virtue is taught by the whole community. --Plato

A few months ago,there is the same issue in our live DB.But I do not want to set MAXDOP and the cost threshold for parallelism.Because such actions are palliatives, so we must find out all poor efficiency query plans in our database.

opc.three (12/24/2012)It should say "physical cores" instead of "physical processors." I would set it to 6 for the number of physical cores per NUMA node. If you're still seeing too much parallelism for your taste look into increasing the Cost Threshold for Parallelism.

1) physical cores is the MAX you should EVER set MAXDOP on NUMA hardware. Don't leave it at zero either.

2) if you can, test your server with Hyperthreading disabled, especially it if is a data warehouse box (or possibly mixed-use server).

3) I never, ever leave cost threshhold for parallelism at 5 for any client I do performance tuning at. It is universally an inappropriate number for modern hardware. It should be larger. I do analytics to try to identify a 'best start' value for each client's server, but without further information I might try 15 for an oltp box and 40 for a DW box.

opc.three (12/24/2012)It should say "physical cores" instead of "physical processors." I would set it to 6 for the number of physical cores per NUMA node. If you're still seeing too much parallelism for your taste look into increasing the Cost Threshold for Parallelism.

1) physical cores is the MAX you should EVER set MAXDOP on NUMA hardware. Don't leave it at zero either.

I agree 100%, the documentation should be updated to say:

MS article http://support.microsoft.com/kb/329204 says•For servers that use more than eight processors, use the following configuration: MAXDOP=8. •For servers that have eight or less processors, use the following configuration where N equals the number of processors: MAXDOP=0 to N.•For servers that have NUMA configured, MAXDOP should not exceed the number of CPUsphysical cores that are assigned to each NUMA node.•For servers that have hyper-threading enabled, the MAXDOP value should not exceed the number of physical processorscores

2) if you can, test your server with Hyperthreading disabled, especially it if is a data warehouse box (or possibly mixed-use server).

I have had varied results with disabling Hyperthreading. One experiment with a DW workload on Server 2003 running SQL 2005 did not make one bit of difference. IN other cases it helped performance, in some it hurt. Specific cases are anecdotal at best so it is important to test with your workload. General consensus seems to be to disable it by default if you do not have the time to invest. If you want to know for sure the right way to go test, test, test.

__________________________________________________________________________________________________There are no special teachers of virtue, because virtue is taught by the whole community. --Plato