首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >何时更改并行性的成本阈值

何时更改并行性的成本阈值
EN

Database Administration用户
提问于 2013-09-02 15:47:05
回答 2查看 9.3K关注 0票数 10

在研究性能问题时,我看到了大量的CXPACKETS,这表明我可能需要查看并行性的成本阈值,也许还需要考虑MAXDOP。

在对MAXDOP做任何重大修改之前,我听从了其他许多人的建议,包括@mrdenny在对用于Server 2008的CXPACKET等待性能优化的回答中的建议,以及来自处理CXPACKET等待-设置并行性的成本阈值的@aron 's的回答。我在维护工作中增加了额外的内容,以便每晚全面更新统计数据。这似乎是一个明智的举措。

然而,修改成本门槛仍然是困扰我的事情。

在什么时候应该改变并行性的成本阈值?是否有一个例子说明(在检查了他们的查询和工作负载的成本后)他们在哪里对这个成本进行了更改?

如果这是在前一个问题中已经回答的事情,我会道歉。

谢谢!

EN

回答 2

Database Administration用户

发布于 2013-09-02 17:35:17

使用MAXDOP =1可能会有所帮助,但它是一把大枪。可能实际的问题是指数的有用性。也许一个新的或不同的指数可以解决这个问题。

根据Denny先生和Aaron Bertrand先生的评论,您是否发现在这方面的其他等待可能是CXPACKET等待的原因?

Jonathan提出了一个可以帮助您评估并行性体验并做出更深思熟虑的决定的查询。但你也应该读一下乔纳森和保罗·怀特之间的对话。

https://www.sqlskills.com/blogs/jonathan/tuning-cost-threshold-for-parallelism-from-the-plan-cache/

票数 3
EN

Database Administration用户

发布于 2013-09-02 17:28:23

我建议您首先查看MAXDOP设置,因为默认设置0(使用所有可用线程)可能很危险,因为使用所有可用线程的失控查询将导致线程饥饿。

有关如何计算服务器实例的MAXDOP设置,请参阅我的答案这里

并行代价阈值是指在优化器考虑并行性之前,查询成本必须达到的最小值。

回顾CXPACKET等待只是一些与查询相关的错误的症状-过时的统计数据或缺少索引,导致一个糟糕的或不同的计划。

您可以使用sys.dm_exec_cached_planssys.dm_exec_query_plan DMV从计划缓存中挖掘信息,如乔纳森和并行代价阈值从计划缓存中调整“并行的成本阈值”中描述的那样。

我建议将cost threshold for parallelism保留为默认的,除非您已经用尽资源调优查询,维护索引和统计信息,并检查是否有任何丢失的索引可能会使您的查询受益。

注意:还可以使用OPTION (MAXDOP n)在查询级别应用Maxdop设置,这将覆盖服务器范围设置。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/49115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档