建立全新的SQL Server系统可能比较棘手。SQL Server是真正注重利用硬件的产品,它的性能跟你如何配置服务器有很大的关系,尤其是如何配置你服务器的存储子系统。考虑到这一点,我们在下面列出了一些人们在采购SQL Server硬件时最容易犯的错误: 1、选择DIY路线。不要购买零部件自己组装SQL Server计算机,除非你只是用于非生产环境的开发计算机。
通常情况下,服务器尤其是SQL Server用的计算机需要处理器,芯片组,内存控制器卡等等零部件匹配性非常好。例如,你需要能支持高热的组件,它们必须从设计起就是考虑协同工作的。这并不是说构建自己的服务器是不可能的,但是买一台全集成……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属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购置硬件时要避免犯这些错误,这样才能得到性能更好的主机。
翻译
相关推荐
-
如何解决和避免SQL Server数据库死锁
学习如何避免SQL Server数据库死锁的第一步是做好准备工作。根据SQL Server专家的说法,了解死锁 […]
-
如何使用SQL Server数据库脚本创建数据库?
你可以手工创建SQL Server数据库,但懂得如何设置数据库脚本是十分必要的。本文是执行数据库创建脚本所涉及的步骤。
-
如何为你的数据库事务日志减肥?
在大多数SQL Server的工作环境中,尤其是在OLTP环境中,数据库的事务日志性能出现瓶颈时往往会导致事务完成需要更多的时间。
-
集群软件让电商网站运行更稳定
SIOS的解决方案能够让用户避免不必要的停机时间,同时能够利用本地存储来搭建一个Windows或Linux服务器集群,无需再额外部署一个SAN。