SQL Server硬件选择不能犯的几个错误

日期: 2011-09-25 作者:Don Jones翻译:冯昀晖 来源:TechTarget中国 英文

建立全新的SQL Server系统可能比较棘手。SQL Server是真正注重利用硬件的产品,它的性能跟你如何配置服务器有很大的关系,尤其是如何配置你服务器的存储子系统。考虑到这一点,我们在下面列出了一些人们在采购SQL Server硬件时最容易犯的错误:   1、选择DIY路线。不要购买零部件自己组装SQL Server计算机,除非你只是用于非生产环境的开发计算机。

通常情况下,服务器尤其是SQL Server用的计算机需要处理器,芯片组,内存控制器卡等等零部件匹配性非常好。例如,你需要能支持高热的组件,它们必须从设计起就是考虑协同工作的。这并不是说构建自己的服务器是不可能的,但是买一台全集成……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

建立全新的SQL Server系统可能比较棘手。SQL Server是真正注重利用硬件的产品,它的性能跟你如何配置服务器有很大的关系,尤其是如何配置你服务器的存储子系统。考虑到这一点,我们在下面列出了一些人们在采购SQL Server硬件时最容易犯的错误:

  1、选择DIY路线。不要购买零部件自己组装SQL Server计算机,除非你只是用于非生产环境的开发计算机。通常情况下,服务器尤其是SQL Server用的计算机需要处理器,芯片组,内存控制器卡等等零部件匹配性非常好。例如,你需要能支持高热的组件,它们必须从设计起就是考虑协同工作的。这并不是说构建自己的服务器是不可能的,但是买一台全集成的一体机会更容易一些,而且会有制造商售后支持。

  2、没有性能预期。你不能简简单单地建立SQL Server系统,除非你知道它将承担什么样的负载。当然,你可以这么做,但是你将面临性能不足或性能过度冗余的问题,这两种情况都造成了一定资金浪费。如果你遇到的是性能不足的情况,你在将来某个时候一定需要提升服务器的处理能力,也就是说你必须再花钱进行升级(这与你的初始配置有关,升级甚至可能是行不通的)。如果你遇到的是性能过度冗余的情况,你实际上花了比你需要甚至预计需要支出的更多的钱。使用现存数据库,应用程序或者甚至供应商的基准,来获得一些性能预期,了解你期望每秒钟需要处理多少事务,并了解相应的硬件容量大小。

  3、购买磁盘时只考虑容量,而不考虑磁盘性能。是的,SQL Server通常需要大量的磁盘空间。但是,如果磁盘处理技术不够快,所有的磁盘空间都是没用的。把若干驱动器配置成RAID5阵列可能会满足你的空间和冗余需求,但是如果该阵列不能以一定的速度移动数据,它将成为你系统的主要性能瓶颈。如果你买不起你所需容量的快速磁盘,那你就满足不了SQL Server的需要。

  理想情况下,数据库文件和事务日志应该放置在不同的磁盘上(或不同的阵列上),SQL Server应该通过不同的通道访问它们,比如磁盘控制器卡或者存储区域网络(SAN)连接。临时系统数据库如果使用频率较高,可能也需要自己独立的磁盘或阵列。

  4、选择了错误的RAID方案。RAID 5方案在写数据时会比较慢。大部分RAID控制器都尝试通过在控制器内存中缓存数据来克服这一问题(控制器内存为安全考虑通常有电池备份),但是繁忙的SQL Server数据库可能会占满该缓存空间,并达到瓶颈。RAID 10是可选的方案呢。它比RAID 5成本更高,但是它用数据条带连接了磁盘镜像,它能提供更高冗余和更快的读写速度。

  5、购买的驱动器太少。如果你需要XGB或者XTB的存储空间,你会希望它能提供尽可能多的物理磁盘,这样能获得最快的吞吐速度。那是因为,拥有的磁盘数量越多(不管是小容量的还是大容量的),比拥有少数大容量磁盘的性能会更好。对于条带式的阵列方案(RAID 5和RAID 10都支持),每多一块磁盘都会给SQL Server的性能提供一定贡献。例如,如果你可以选择购买5快1TB的硬盘或者20块250GB的硬盘,20块250GB的硬盘性能(假定这些磁盘都被配置为条带式阵列,驱动器都具备相同的速度和传输率)一定会超过5块1TB硬盘的性能。

  6、利用没有电池的磁盘控制器。如果你依赖磁盘控制器来缓冲写指令(例如,RAID 5阵列),要确保主板上有电池。要经常有计划地监视服务器电源自检测(有检测通知)屏幕,确保那些电池(通常是手表用的锂电池)持续有电。

  7、盲目信任SAN。SAN并不是在所有情况下都是完美的选择。你必须确保有足够的吞吐量,SQL Server不会与那么多其他服务器和应用程序共用资源,竞争带宽和吞吐量。SQL Server需要快速存储访问,对大多数SQL Server主机来说,这是最大的性能瓶颈。请确保你知道SAN的配置(例如,要知道是RAID 5还是RAID 10,要记得前面提到的错误),要知道其吞吐量和其它细节,就像你想知道直接附加存储的这些信息一样。

  8、选择32位。在32位Windows环境中,SQL Server想利用大于3GB的内存会更困难一些,它必须采用一些页扩展技术,这种技术并不像原始手段直接访问大量内存一样高效。如果你选择了64位的硬件,那就在其上运行64位的操作系统。此外,要注意Windows Server 2008 R2以及Windows的后续版本都只对64位版本可用。

  上面的许多错误似乎都与存储有关,SQL Server的存储是人们最容易关注的领域,大家都太多地关注存储容量,而对其它因素(比如:吞吐量)不够重视。尤其是SAN,存储变成了类似“我们的私有云服务”的东西,像空中的一个大魔盒,数据都在其中。

  当然,SQL Server的性能也不只是与存储有关,也跟其它因素有关,比如处理器架构和服务器内存容量。要从细节处理问题和分析性能。在为SQL Server购置硬件时要避免犯这些错误,这样才能得到性能更好的主机。

作者

Don Jones
Don Jones

投稿作者

相关推荐