设置 maxdop 1 与设置高并行度阈值

Rea*_*ces 4 performance parallelism sql-server-2012 microsoft-dynamics

我正在研究并行设置的可能边缘情况。

我长期以来一直相信maxdop 1是 Microsoft Dynamics CRM 数据库的可行选项。由于数据库的本质是严格的 OLTP,并且并行性对 CRM 实例几乎没有好处,因此我始终将 CRM 数据库设置为maxdop 1.

但是,我现在有一个数据库实例,它具有:

  • Microsoft Dynamics CRM 数据库
  • 主要用于 OLAP 目的的 ETL 数据库

我询问了我们的业务合作伙伴,他们对性能重要性的看法如下:

  1. CRM 必须快速,期间
  2. ETL 导入不应受到限制,但应排在 CRM 性能之后

因此,我倾向于牺牲 OLAP 数据库的并行性,并设置maxdop 1为最大限度地使 CRM 受益。
然而,可能存在一些中间立场。

如果我将 设置cost threshold for parallelism为一个数字,排除 CRM 抛出的所有内容,但根据我的查询计划可能会抓取一些 OLAP 事务,对 CRM 会有任何不利影响吗?

如果有的话,保持阈值如此之高(几乎从未达到)的影响是什么,与设置相比maxdop 1,我是否会在计算查询计划时让 SQL Server 考虑阈值而产生一些隐藏成本?

Jen*_* W. 6

如果您使用的是企业(昂贵)版,则有一个简单的解决方案:将实例级别的 maxdop 设置为您想要的高度,并使用资源调控器将所有 CRM 用户及其自己的工作负载组限制为 maxdop 1。