SQL Server硬件configurationbuild议

我们正在build立一个新的SQL服务器,并希望在硬件上提出一些build议。 目前,我们在内部build立所有系统。 有了下面的信息,你会推荐什么驱动器和外部SAS笼。 另外,在这个工作量下,SAS和SATA2有多大的优势呢?

基本规格到目前为止:

  • AMD羿龙II X4 955 CPU
  • 8GB内存
  • 2TB RAID6存储(思科450GB希捷Cheetah 15K.6硬盘)
  • 1TB RAID1存储(为什么在下面)(1TB希捷Barracuda ES.2)
  • 3ware 9690SA SAS控制器

软件:

  • Windows 2003或2008服务器(尚未决定)
  • SQL Server 2005或2008(将取决于应用程序的兼容性)

工作量:

对于大多数应用程序(大约1TB)(财务,内部应用程序等),这个服务器是相当读/写的。 我们在ArcGIS使用的服务器上也有GIS数据。 我们的计划是将我们的vector数据放在主RAID6arrays上,光栅数据(大约750GB)位于RAID1arrays上(因为使用频率不太高)。

我build议RAID10适用于繁重的数据库工作,主要不是只读,而不是RAID5或6.在4个驱动器的RAID6arrays上,每个块写入(或部分块写入)可以变成读取(以获取其他数据块),然后是三个写入(一个用于初始写入,两个用于两个奇偶校验块),这会对写入性能产生显着影响。 使用RAID10时,每个(部分)数据块写入只是两次写入磁盘。

如果您的数据库访问确实包含很less的写入,那么RAID6可能更适合冗余,因为RAID6arrays可以在任何两个驱动器出现故障的情况下存活 – 因为四个驱动器的RAID10arrays只能存在两个故障驱动器的6种可能组合中的四个,但你声明你期望这个活动既是读取又是写入密集的(你有好的备份和灾难恢复计划,对不对?)。

显然,要确保你使用的是64位版本的Windows和SQL Server,否则你将无法使用所有内存,而不会像PAE那样排除黑客的性能。 当我们记忆的时候:如果可以的话,我会build议更多。 现在的RAM并不昂贵,甚至是知名品牌的ECC能够使用的内存,所以从8级升级到现在所能容纳的程度并不是一个坏主意。 对于SQL服务器中的大多数应用程序(具有足够大的数据库),您将在任何可感知的负载下都会注意到它的好处,因为它将大大减less读取查询的I / O操作,因为可以将更大的工作集保留在内存中。 从你的描述来看,这听起来像你有一个数据大小和活动模式,将受益于多less内存,你几乎可以扔在它。 现在很多新的服务器都支持16Gb的内存,而32Gb并不罕见(而且对于64Gb的支持也越来越less,虽然这已经进入了“专业”市场,所以你可能需要支付额外的费用)。

如果您的数据库是写密集型的,请使用RAID 10,而不要使用RAID 6.使用真正快速的,非常棒的SAS磁盘。

买一个比你需要的更大的机箱,这样你就可以成长起来。 我最近在生产数据库服务器上增加了一个四核处理器,我可以告诉你,在我的职业生涯中,我真的很高兴我买了双sockets主板,即使我只需要启动四个内核。 CPU利用率从平均水平的60%上升到平均水平的100%到30%,只有极less数100%的高峰对我们的性能产生巨大的影响。 不需要从一台机器完全迁移到另一台机器就可以实现这个function,真是太棒了 – 在另外一个插槽中popup另外一个芯片大约需要20分钟。 至于RAM; 尽可能多地放入机器。

请注意,我们的生产系统使用SAS,我们的开发系统使用SATA。 我们绝对可以感受和量化差异。 在我们加载的生产机器上可能需要1.5秒的查询可能需要3秒钟,在我们的非加载的开发服务器上。 这当然是轶事,还有其他的区别。 但我们注意到IO绝对是杀手。 1.5秒不是什么大不了的吧? 除了在每小时只有1.5秒的差异* x用户* y的产量之外。

还有一个关于IO的想法:我们小心地将我们最常用的表格设置在文件组中,其中包含多个文件。 其中一个增强的性能是SQL将请求发送到文件组中的每个文件 – 所以如果BigOverUsedTable在FileGroup1上,而FileGroup1在其中有四个文件,而你的数据库有8个内核,它实际上会使用四个内核来做“select大数字从BigOverUsedTable嘎吱嘎吱的查询“ – 而否则,它将只使用一个CPU。 我们从这个MSDN文章中得到了这个想法:

http://msdn.microsoft.com/en-us/library/ms944351.aspx

从TFA:

“文件组使用并行线程来改善数据访问,当顺序访问表时,系统为每个文件并行创build一个单独的线程,当系统对包含四个文件的文件组中的表执行表扫描时,它使用四个单独的线程来并行读取数据,一般来说,在不同的磁盘上使用多个文件可以提高性能,文件组中的文件太多会导致太多的并行线程,造成瓶颈。

由于此build议,我们在8核心机器上的文件组中有四个文件。 它工作得很好。

对于随机存取操作而言,SAS是SATA2的一个巨大优势。 我会不惜一切代价避免SATA。 你提到室内的build筑,你看过这样的架子系统吗?

http://www.newegg.com/Product/Product.aspx?Item=N82E16811219021

它将为您提供20个SAS驱动器托架在一个机架安装单位。 添加您的主板和SAS控制器的select。