大家都希望把所有的数据库整合到一起,但是有些数据是不应该被整合的。当数据库需要很好的CPU响应能力、需要占用非常多的RAM、需要足够大的磁盘空间,或者要求存储阵列中有很强的IO读取能力的时候,就不适合做数据库整合了。这些情况下,一个独立的SQL Server上只安装一个应用程序是最好的选择。 想要知道你的数据库是否适合被整合?有几个可以参考的指标。
首先看主机上CPU的负载能力以及新环境需要占用的额外的CPU电量。如果用于SQL Server的CPU内核数目降低了,你再看性能监视器上显示的当前系统的Processor Queue Length值。用系统的进程数除以Processor Q……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
![TechTarget微信公众号二维码](/wp-content/uploads/res/images/spriteimg/ttweixin.jpg)
TechTarget
官方微博
![TechTarget中国官方微博二维码](/wp-content/uploads/res/images/spriteimg/ttweibo.jpg)
TechTarget中国
大家都希望把所有的数据库整合到一起,但是有些数据是不应该被整合的。当数据库需要很好的CPU响应能力、需要占用非常多的RAM、需要足够大的磁盘空间,或者要求存储阵列中有很强的IO读取能力的时候,就不适合做数据库整合了。这些情况下,一个独立的SQL Server上只安装一个应用程序是最好的选择。
想要知道你的数据库是否适合被整合?有几个可以参考的指标。
首先看主机上CPU的负载能力以及新环境需要占用的额外的CPU电量。如果用于SQL Server的CPU内核数目降低了,你再看性能监视器上显示的当前系统的Processor Queue Length值。用系统的进程数除以Processor Queue Length就是系统等待CPU响应的操作数。用CPU的内核数划分是因为当前系统只有一个计数器。你还需要再看一下CPU内核的队列长度。
微软的官方说明指出计数器的值达到10也是可以接受的,优先权不取决于SQL Server列队中的一两个操作。队列中操作次数越多,查询队列越长。
从内存角度看,你既要关注系统可用的内存的总量,还要关注可分配给程序缓存和缓冲区高速缓存的内存总量。你可以从性能的窗口中观看内存使用情况,或者从sys.dm_os_performance_counters动态管理视图中检索。
如果程序缓存可用的内存量将减少或者被共享,这样就不能存储足够的执行命令用于计划缓存,你就需要估算增加的编译和重编译的数量。每增加一条编译和重编译都会增加服务器CPU负载----可能是增加很大的负载。
SQL Serrver磁盘上的数据先加载到缓冲区高速缓存,缓冲区高速缓存需要进行“guesstimation”。如果SQL Server的缓冲区高速缓存内存量降低,从磁盘读取数据就会变得频繁,从而导致读取操作量的增长。在一台繁忙的SQL Server上,等待磁盘数据也会增加CPU的负载,因为处理放缓,就需要在同一时间处理更多的查询。
磁盘是需要特别关注的。把多台服务器整合到一个台服务器的时候,为了保证数据库性能你需要把数据放到一个隔离的磁盘。为了不让磁盘控制器饱和或者HBAs——SAN环境,磁盘隔离是把问题降到最低的解决方案。如果在虚拟环境下的数据库整合,你需要注意的是存储的正确设置,使其能够满足现在和将来的IO处理需求。
如果你使用虚拟磁盘并且性能可以接受,你可以考虑把其他内容放到物理磁盘上。如果将来在虚拟磁盘上增加其他的系统,虚拟磁盘会变得非常慢而且SQL Server性能会相当糟糕。随着SQL Server运行的业务的增长,这些新增的系统会给主机带来额外的压力,而且会增加SQL Server的负载。
没有经过慎重的思考和系统的设计就不要进行SQL Server整合。如果正确的规划,你的服务器费用会逐月有明显减少。你可以体会到新环境服务器功耗的减少,制冷费用的降低以及硬件设备的减少。
没有两个整合项目是完全一样的,所以处理方法也要因地制宜。每一个环境都是不同的,每一个指标也是不同的。一个整合项目中配置有效的系统可能完全不能用于另外一个数据库整合项目。
要时刻记住每个项目的解决方案或者组合的解决方案都是不同的。同一套方案配置所有系统会导致项目的失败,也会导致客户和领导的不满。
作者
相关推荐
-
SQL Server 2017将Python视为首选分析工具
Python不再被微软数据库排除在外。SQL Server 2017发布的第二个预览版本,支持使用Python编程语言与R语音用于分析。
-
数据库工程师2015年9月刊:微软数据库的新时代
当我们刚刚熟悉SQL Server 2014新功能的时候,微软下一代旗舰级数据库平台SQL Server 2016正缓步向我们走来。
-
数据库产品巡礼:微软SQL Server 2014概述
Windows下的Microsoft SQL Server 2014可以用来构建,部署以及管理本地和云应用程序。
-
详解Azure SQL数据库行级安全
本文中,专家举例说明如何实现行级安全性——微软Azure SQL数据库新近推出的预览特性。