September 11, 2018 at 7:49 am
Hi,
I'm not going to ask what its for or anything, I understand it and its whole history back to Nick's PC.
What I am going to ask is how you go about changing it, but I don't mean actually changing it, I know how to do that (sp_configure), what I mean is what do you set it to.
From research it seems to be a bit of trial and error and I get that but I wondered where's a good starting point, I'd heard 50 but is that to high or perhaps to low for todays hardware.
Then once changed is there any set of metrics best to monitor? Anything that may stand out above others or should I just be comparing to my machine baseline?
Any thoughts on this?
Thanks,
Nic
September 11, 2018 at 7:59 am
NicHopper - Tuesday, September 11, 2018 7:49 AMHi,I'm not going to ask what its for or anything, I understand it and its whole history back to Nick's PC.
What I am going to ask is how you go about changing it, but I don't mean actually changing it, I know how to do that (sp_configure), what I mean is what do you set it to.
From research it seems to be a bit of trial and error and I get that but I wondered where's a good starting point, I'd heard 50 but is that to high or perhaps to low for todays hardware.
Then once changed is there any set of metrics best to monitor? Anything that may stand out above others or should I just be comparing to my machine baseline?
Any thoughts on this?
Thanks,
Nic
Bump it to 25
September 11, 2018 at 8:08 am
coolchaitu - Tuesday, September 11, 2018 7:59 AMNicHopper - Tuesday, September 11, 2018 7:49 AMHi,I'm not going to ask what its for or anything, I understand it and its whole history back to Nick's PC.
What I am going to ask is how you go about changing it, but I don't mean actually changing it, I know how to do that (sp_configure), what I mean is what do you set it to.
From research it seems to be a bit of trial and error and I get that but I wondered where's a good starting point, I'd heard 50 but is that to high or perhaps to low for todays hardware.
Then once changed is there any set of metrics best to monitor? Anything that may stand out above others or should I just be comparing to my machine baseline?
Any thoughts on this?
Thanks,
NicBump it to 25
Hi,
Thanks for the reply. Can I ask how you validated that 25 was right for your kit, did you see an improvement in any particular stats or alike?
Nic
September 11, 2018 at 8:57 am
Great question - I think this is a good topic that isn't talked about enough.
Per Books Online:
"While the default value of 5 is retained for backwards compatibility, it is likely that a higher value is appropriate for current systems. Many SQL Server professionals suggest a value of 25 or 50 as a starting point, and to perform application testing with higher and lower values to optimize application performance."
... and that's it. Not much guidance there.
What I do (and I'm not saying this is the beat way to approach this but it's worked for me) is regularlary check our slowest queries. We capture query data incuding execution plans. If they are slow because they're badly written I fix them. If they are well written according to our best practices and are just slow because they do a lot of complex stuff I check to see if they are getting serial or parallel plans. I then run them with a serial plan if they ran parallel (using MAXDOP 1) or with a parallel plan if they ran serial (using TRACEFLAG 8649 or Adam machanic's Make_parallel function.)
When I see queries that get serial plans when a parallel plan was better and possible but not chosen due to maxdop settings - that's an indication that that it's too low. The opposite is also true.
-- Itzik Ben-Gan 2001
September 12, 2018 at 2:33 am
Thanks both for the responses.
I'm going to use 25 as a start and then review slowest query/application performance over the next few weeks and then follow the process you defined Alan, makes sense to me.
Thanks,
Nic
September 13, 2018 at 8:02 pm
Alan.B - Tuesday, September 11, 2018 8:57 AMWhen I see queries that get serial plans when a parallel plan was better and possible but not chosen due to maxdop settings - that's an indication that that it's too low. The opposite is also true.
Didn't you mean 'Cost Threshold For Parallelism' and 'too high'?
September 14, 2018 at 10:31 am
CC-597066 - Thursday, September 13, 2018 8:02 PMAlan.B - Tuesday, September 11, 2018 8:57 AMWhen I see queries that get serial plans when a parallel plan was better and possible but not chosen due to maxdop settings - that's an indication that that it's too low. The opposite is also true.Didn't you mean 'Cost Threshold For Parallelism' and 'too high'?
Gosh. Yes, good catch - thanks!
-- Itzik Ben-Gan 2001
September 16, 2018 at 10:29 pm
coolchaitu - Tuesday, September 11, 2018 7:59 AMNicHopper - Tuesday, September 11, 2018 7:49 AMHi,I'm not going to ask what its for or anything, I understand it and its whole history back to Nick's PC.
What I am going to ask is how you go about changing it, but I don't mean actually changing it, I know how to do that (sp_configure), what I mean is what do you set it to.
From research it seems to be a bit of trial and error and I get that but I wondered where's a good starting point, I'd heard 50 but is that to high or perhaps to low for todays hardware.
Then once changed is there any set of metrics best to monitor? Anything that may stand out above others or should I just be comparing to my machine baseline?
Any thoughts on this?
Thanks,
NicBump it to 25
Based on what evidence??? :blink:
--Jeff Moden
Change is inevitable... Change for the better is not.
September 20, 2018 at 12:51 pm
It obviously depends on your workload. How many queries do you want going parallel? 50 / 50?
Here is a good blog post that provides a query that gives you some stats on your query costs. Mean, median and mode. (this query takes several minutes to run)
http://sqlknowitall.com/determining-a-setting-for-cost-threshold-for-parallelism/
Viewing 9 posts - 1 through 8 (of 8 total)
You must be logged in to reply to this topic. Login to reply