Pet*_*ter 5 sql-server-2008-r2 maxdop
一直在与我公司的应用程序供应商就并行性进行辩论。他们坚持认为 Maxdop = 1 对 app/db 有显着的性能改进,但他们绝对没有提供这方面的证据。
我测试了各种 DOP/CT 设置,发现在使用 Maxdop 4(8 个超线程内核)和 CT 150 时,自动化测试的整体性能提高了 28%。
供应商的 DBA 最近表示:“即使 DOP 为‘1’,MSSQL 的内部进程也能使用该值,在使用它的 MSSQL 服务器中存在低于 51 的 SPID、幽灵清理等问题这个。”
我已经对此进行了研究,尽管信息很少,但 Paul Randall 至少说 Ghost 清理始终是单线程的,所以显然供应商的 dba 不正确?
当 Maxdop =1 时,对 CT 的影响有什么想法吗?
说MAXDOP=1
永远有益是完全错误的说法。MAXDOP 值应根据 SQL Server CPU 核心配置进行设置,然后进行一轮良好的测试。我所知道的适用于 MAXDOP 1 的应用程序很少是 DynamicsAX 和 Sharepoint。
是的,正如 Paul 在本文中提到的,ghost 清理是单线程的,但仅仅因为系统进程是单线程的,并不意味着 MAXDOP=1 对您有益。这是我从你的问题中得出的结论。您可以从cost threshold of parallelism value =50
. 提到的值 5 完全没用,而且是过去的。现在系统在许多内核上运行,我建议将并行度值的成本阈值设置为 50,并将 MAXDOP 值设置为您可以从下面共享的链接中获得的值。看看这对你有什么作用。
我们已经有 SE 线程什么是计算 MAXDOP 值的好方法我建议您从此链接中提到的查询中获取 MAXDOP 值,看看这是否对您的环境有帮助。
此外,我并不是说您完全忽略了供应商的建议,而是供应商为您提供的应用程序无法更改 SQL Server 查询引擎的行为。
归档时间: |
|
查看次数: |
492 次 |
最近记录: |