热线电话: 18611015007 分享到:
首页>新闻中心>详细内容

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

  SQL Server 2012 不仅延续现有数据平台的强大能力,全面支持云技术与平台,并且能够快速构建相应的解决方案实现私有云与公有云之间数据的扩展与应用的迁移。那下面小编来说说sql server 2012 数据引擎任务调度算法解析。

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

  RG是一个对资源进行分配的设置选项,它可以对CPU或内存的最大、最小可用资源进行配置。每个scheduler也都有自己的目标资源池 ,每个SCHEDULER的资源池大小基本等于RG最大配置/scheduler总数的平均值

  scheduler cpu pool=max cpu/scheduler count

  图为default的RG设置

  

  假设共有4个可用的scheduler,那么每个sheduler的可用cpu上限大概就是25% 必须要注意的一点是,新的调度算法并没有将当前CPU使用率做为一个参考指标,换句话说,有可能一个scheduler已经占用了CPU80%的计算资源,但是在进行任务调度的时候,还是按照100/4=25%进行计算的

  下面开始说明一下新的算法流程:

  当需要给task指派一个scheduler的时候,如果首选preferred scheduler在添加这个task后,不会使得当前scheduler的平均任务资源利用率下降到当前NUMA节点内平均资源利用率的80%以下,则将任务指派给首选scheduler;反之,则将任务分配给同一NUMA节点中有最多可用资源的sheduler上。

  如果写成逻辑公式则是这种计算方式:

  if (preferred scheduler pool target/runable task+1)>avg (sum(scheduler pool target/runable task))*0.8

  preferred scheduler task+1

  else

  most pool resource scheduler task+1

  计算流程:2NUMA,四核,1433端口绑定到NUMA0,使用默认的RG设置(也就是MAX CPU=100%)

  

故列出下表

  


  全局的平均值则=(5.56+4.55)/2=5.05,那么80%数据值为5.05*0.8=4.04



 相关阅读:SQL Server 2008怎么下载呢

想了解更多?欢迎联系我们
服务邮箱 fei@bjjyhx.cn
周一至周五:9:00-18:00
热线电话 18611015007
周一至周五:9:00-18:00

在线表单

为了便于我们更好的为您服务,情正确填写一下信息,我们会在24小时内与您取得联系,并答复您的需求!

公司名称*
联  系  人*
联系电话*
详细地址*
产品描述*
留言内容*