Max Degree of Parallelism最大并行度配置
由于公司的业务在急速增长中,发现数据库服务器已经基本撑不住这么多并发。一方面,要求开发人员调整并发架构,利用缓存减少查询。一方面从数据库方面改善并发。数据库的并行度可设置如下:
1)cost threshold for parallelism:数据库引擎在编译的时候,预估执行计划的cost;若此cost消耗超过cost threshold for parallelism设置的值;sqlserver就会使用并行执行计划。
2)max degree of parallelism:并行执行计划最多能使用多少线程并行执行语句。默认值为0
在OLTP环境中,会存在大量的并发查询,因此会存在以下两种情况:
1)单个查询的并发过高,可能会导致等待并发同步的消耗
若SQL Server中有大量的CXPACKET等待类型,则可能由于是并发过高的原因,CXPACKET等待类型是由于等待一个或多个线程同步,而出现的等待类型。
然而并非说CXPACKET等待类型等待就是不好,我们只是需要减少此等待类型。具体查询如下
SELECT '查看百分比是否>10%,如果大于10%,考虑降低并行度'
select cast([signal_wait_time_ms] as decimal(30,2))/[wait_time_ms] as [百分比],*
from sys.dm_os_wait_stats (nolock)
where [wait_time_ms]<>0 AND wait_type='CXPACKET'
2)单个查询的并发过高,占用大量cpu资源,导致其他线程无法使用
若有许多查询长期处于Runnable的状态,则可能是由于并发的影响,其他进程拿不到cpu执行。从而大量线程无法running。具体查询如下
SELECT '查看cpu任务'
SELECT scheduler_id, current_tasks_count, runnable_tasks_count
FROM sys.dm_os_schedulers (nolock)
WHERE scheduler_id < 255
如何设置合理的并行度呢?
--配置最大并行度
sp_configure 'max degree of parallelism',1
go
--使设置生效
Reconfigure
go sp_configure 'cost threshold for parallelism',10--设置为10s
go
--使设置生效
Reconfigure
go
1)在OLTP服务器环境中
a)对并发度要求高,对每个用户请求都要及时响应,一般建议将max degree of parallelism 设置为1;因此cost threshold for parallelism 的值没有作用,默认为5即可
b)对并发度要求不高,经常会有复杂查询的数据库,若cpu个数<8,一般建议将max degree of parallelism 设置为cpu数量;若cpu个数>=8建议将值设为8;cost threshold for parallelism 默认即可
2)在OLAP服务器环境中
由于查询均比较复杂,则可将max degree of parallelism 设置为0,同时如果考虑到等待消耗问题,则可以考虑将cost threshold for parallelism 的值设置为10,以降低并发执行的可能
3)在OLTP和OLAP混合环境中
a)对并发度要求高,则可以考虑将max degree of parallelism 设置为<=4,cost threshold for parallelism 值默认即可
b)对并发度要求不高,经常会有复杂查询的数据库,若cpu个数<8,一般建议将max degree of parallelism 设置为cpu数量;若cpu个数>=8建议将值设为8;cost threshold for parallelism 默认即可
Max Degree of Parallelism最大并行度配置的更多相关文章
- SQL Server数据库与max degree of parallelism参数
我们今天主要向大家讲述的是SQL Server数据库中的max degree of parallelism参数,当 SQL Server 数据库在具N个微处理器或是 CPU 的计算机上运行时,它将为每 ...
- Parallel.ForEach 之 MaxDegreeOfParallelism
参考:Max Degree of Parallelism最大并行度配置 结论: 与设置的线程数有关 有设置的并行度有关 测试如下: @@@code System.Threading.ThreadPoo ...
- SQL Server中的“最大并行度”的配置建议
SQL Server中的最大并行度(max degree of parallelism)如何设置呢? 设置max degree of parallelism有什么好的建议和指导方针呢?在微软官方文档R ...
- SQL Serve里你总要去改变的3个配置选项
你用安装向导安装了全新的SQL Server,最后你点击了完成按钮.哇噢~~~现在我们可以把我们的服务器进入生产了!抱歉,那并不是真的,因为你的全新SQL Server默认配置是错误的. 是的,你没看 ...
- SQL Server安装完成后3个需要立即修改的配置选项(转载)
你用安装向导安装了全新的SQL Server,最后你点击了完成按钮.哇噢~~~现在我们可以把我们的服务器进入生产了!抱歉,那并不是真的,因为你的全新SQL Server默认配置是错误的. 是的,你没看 ...
- 第十七章——配置SQLServer(1)——为SQLServer配置更多的处理器
原文:第十七章--配置SQLServer(1)--为SQLServer配置更多的处理器 前言: SQLServer提供了一个系统存储过程,SP_Configure,可以帮助你管理实例级别的配置.微软建 ...
- MSSQLSERVER并行度
Microsoft SQL Server最大并行度(MAXDOP) 配置选项控制并行计划用于执行查询的处理器的数目.此选项确定用于执行工作并行查询计划运算符的计算和线程资源.根据是否 SQL Serv ...
- SQL Server 最大并行度
一.概念 1.关联掩码(affinitymask) 为了执行多任务,MicrosoftWindows2000和WindowsServer2003有时会在不同的处理器之间移动进程线程.虽然从操作系统方面 ...
- SQL Serve里DBA要去改变的3个配置选项
用安装向导安装了全新的SQL Server,最后你点击了完成按钮.哇噢~~~现在我们可以把我们的服务器进入生产了! 抱歉,那并不是真的,因为你的全新SQL Server默认配置是未优化的,一个合格的D ...
随机推荐
- Android WebService
Web Service简介 Web of Services refers to message-based design frequently found on the Web and in ente ...
- 拼装query的sql语句
com.kingdee.bos.metadata.query.util.QuerySqlAccessBase //打开一个绑定query界面,获取query查询的最终sql,231行
- 页面记载给绑定query的grid加filter
功能名称:listDataAction 切入类型:before 事件名称:com.kingdee.bos.webframework.dynamic.event.view.WebListDataEven ...
- nginx实现http反向代理+负载均衡
原理 反向代理:反向代理(reverse proxy)方式是指以代理来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客 ...
- photoshop切图介绍
第一部分:界面设置 1.点击“文件-新建”(或者ctrl+n)打开一个新建对话框.名称可随意填写.“预设”设置为自定,“宽度”一般选择1920,“单位”选为像素.“高度”可选择为2000,“单位”选为 ...
- Objective-C之NSArray(数组)默认排序与自定义排序
在讲OC中数组的排序之前我先上一段代码,它是简单数组排序的一种方法(也就是元素是字符串或者数据的数组,因为后面要讲元素为类的数组排序) 代码1: NSArray *sortArr4 = [sortAr ...
- Maven中的dependencyManagement 意义
1.在Maven中dependencyManagement的作用其实相当于一个对所依赖jar包进行版本管理的管理器. 2.pom.xml文件中,jar的版本判断的两种途径 1:如果dependenci ...
- WinForm------GridControl中通过判断单元格文字显示不同字体颜色或背景色
- Java——单选按钮:JRadioButton
import java.awt.Container; import java.awt.GridLayout; import java.awt.event.WindowAdapter; import j ...
- JSP 原理
参考文献:http://www.cnblogs.com/xdp-gacl/p/3764991.html 一.什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都 ...