设为首页 收藏本站
查看: 1169|回复: 0

[经验分享] SQL Server 2008 R2 CPU 和 内存 最大优化 分配

[复制链接]

尚未签到

发表于 2015-7-2 11:32:21 | 显示全部楼层 |阅读模式
SQL Server 2008 R2 CPU 和 内存 最大优化 分配

  微软SQL Server 2008 R2中的资源分配方式与SQL Server 2005中的方式相比是一种完全不同的过程。利用资源控制器,在SQL
Server 2008 R2中解决方案供应商有切实可用的方法管理CPU和内存。

  资源消耗是长期以来困扰使用SQL
Server的解决方案供应商的基本问题之一。任何服务器,不管它是物理的还是虚拟的,供处置的CPU和内存池都是有限的。过去,这一简单的事实给SQL
Server带来许多麻烦,因为它通常是资源非常敏感的应用。

  如果服务器上只托管了唯一一个数据库的话,那么SQL
Server资源消耗并不是个严重的问题。但是如果有多个数据库在用着,那就真的变成一个问题了,因为各种数据库都会竞争同样一组CPU和内存资源。

  在SQL Server 2005中,对这个问题可以接受的解决方案通常是为每个数据库创建独立的SQL
Server实例,利用处理器亲和度为每个数据库实例分配资源。这种技术的问题是一旦资源被分配给SQL Server实例,他们对其他SQL
Server实例就不可用了。结果,如果一个数据库的负载特别重,它也不可能从其他SQL实例暂借服务器的CPU资源,虽然这个实例上的资源此时可能什么都没做。

  一些解决方案供应商也曾尝试利用服务器虚拟化作为给个别SQL Server数据库分配资源的一种途径。在这种模型中,每台虚拟机只托管一个SQL
Server数据库。这种方法也可行,但是虚拟机和他们的操作系统也消耗了一些本该用于SQL
Server的服务器资源。此外,还依赖于你使用的虚拟化软件,以按需分配为基础的资源动态分配可能有些困难或者不可能实现。

  微软最终针对SQL Server 2008
R2中的资源分配问题创建了一套可行的解决方案,引入了叫做资源控制器的新组件。这个资源控制器是可以通过微软SQL Server Management
Studio访问的,它可以定义资源池,每个资源池都包含负载工作组,如下图所示:
DSC0000.jpg


  
你可以在图中看到,SQL Server 2008
R2默认定义了两个资源池:一个系统资源池,一个默认资源池。顾名思义,资源池是服务器资源的集合,这些资源在池内对工作组是可用的。

  每个资源池被配置了CPU资源和内存资源的最小值和最大值。这些值按百分比表示,100%表示服务器的整个硬件资源。

  池的最小值用CPU或者内存资源的百分比表示,表示这部分资源是专门分配给池的,而且对于该池是一直可用的。在配置了多个资源池的情况下,分配给所有池最小值的总和不能超过100%。任何没有声明最小值的资源可以自由地跨所有资源池使用资源。

  要防止SQL Server 2008
R2数据库消耗掉不受最小值保护的所有系统资源,解决方案供应商可以设置最大值。最大值表示该池可以使用CPU或者内存资源的最大百分比。但是,很重要的一点是,解决方案供应商要意识到尽管他们可以设置任何最大值,池也有可能触发简短的CPU百分之百高峰。这些高峰不会带来问题,被认为是正常行为。

  你可能注意到了上图,默认情况下,SQL Server 2008
R2包含两个资源池,每个资源池都包含一个工作负载组。资源控制器分类处理请求,并根据请求的特性把请求分配给合适的工作负载组。这意味着你不再限制在每个数据库级别上分配资源了。你确实可以给各类型的数据库请求分配不同的资源池。例如,解决方案供应商可能分配更多的CPU时间给数据库查询函数,而不是分配给写数据库操作的函数。

  SQL Server 2008
R2资源控制器的一个大缺点是:它不是一个解决方案供应商可以启用或者通过点几下鼠标就可以配置的管理工具。分类处理请求,然后把请求转发给合适的负载工作组需要编写大量脚本。幸运的是,微软提供了一系列MSDN文章,告诉你如何创建必要的脚本。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-82495-1-1.html 上篇帖子: 微软发布SQL Server 2000 Reporting Services Service Pack 1 下篇帖子: 在运行 32 位版本的 SQL Server 2000 SP4 的计算机上启用 AWE 时有些内存不可用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表