你的位置:首页 > 软件开发 > 数据库 > sql server 2012 数据引擎任务调度算法解析(下)

sql server 2012 数据引擎任务调度算法解析(下)

发布时间:2015-07-06 16:00:10
上次我们说到,sql server 2012的企业版的任务调度流程,一直到给新连接分配了scheduler,都是与以前的版本算法是一致的,只有在进行任务分配的时候,算法才有了细微的调整。 新算法的目的是尽量减小在同一NUMA节点内随机分配scheduler带来的性能影响(原来 ...

上次我们说到,sql server 2012的企业版的任务调度流程,一直到给新连接分配了scheduler,都是与以前的版本算法是一致的,只有在进行任务分配的时候,算法才有了细微的调整。

 

新算法的目的是尽量减小在同一NUMA节点内随机分配scheduler带来的性能影响(原来的算法也不能称为随机,因为是按负载系数进行分配的,但是由于负载系数会不确定,所以暂时将原分配算法定性为:随机~~)

我们知道,在sql server 2008版本以后,引入了Resource Governor(后文简称RG),在2012版本中,微软就将Resource Governor这个特性应用到了任务调度算法中来,这里需要注意的是,如果没有开启RG功能,那么sqlos将会把default RG设置应用到算法中。

PS:如果不知道Resource Governor是什么的同学请参考MSDN:https://msdn.microsoft.com/en-us/library/bb933866(v=sql.100).aspx

 

如果对RG有了解,就会知道RG是一个对资源进行分配的设置选项,它可以对CPU或内存的最大、最小可用资源进行配置。

每个scheduler也都有自己的目标资源池 ,每个SCHEDULER的资源池大小基本等于RG最大配置/scheduler总数的平均值

scheduler cpu pool=max cpu/scheduler count

图为default的RG设置

sql server 2012 数据引擎任务调度算法解析(下)

 

假设共有4个可用的scheduler,那么每个sheduler的可用cpu上限大概就是25%

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:sql server 2012 数据引擎任务调度算法解析(下)

关键词:sql

sql
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。