揭秘硬件

SQL Server的性能和可扩展性的根基是硬件和存储子系统,而数据库实例则运行其上。要揭秘硬件和存储,你首先要好好理解工作负载。你需要知道你的数据库服务器是要仅仅运行SQL Server Database Engine,还是其他组件,如SSAS、SSIS或SSRS。理想的情况,你或许想在专有的服务器上分别运行它们,但是额外的硬件和许可费用或许会让你无法奢望。即便是仅仅运行数据库引擎,你也需要理解你要处理的工作负载种类。

 

工作负载类型

常见的SQL Server工作负载类型包括OLTP(online transaction processing)、DW(data warehousing)、关系报表(relatinal reporting)和OLAP(online analytical processing)。

OLTP工作负载

其特质是有大量的短持续时间的查询,以及高比例写活动的事务。具有更高基本时钟频率及涡轮转速的处理器会有较好的表现。每秒的I/O操作(IOPS)比同等的DW要多。

DW工作负载

它有长时间运行、复杂的查询,这些查询通常由查询优化器并行处理,这使得处理器要具有更高的物理内核数、更好的内存控制器,以便尽快执行查询。大内存对DW也很重要,这能保证你有足够的空间用于缓冲池。常规的操作下,DW有更多连续的读,和极少的写活动。

关系报表负载

许多组织维护了一个OLTP数据库的副本,用于报表。理想情况下,副本放在一台专用的服务器上,与主OLTP数据库服务器分离。这个“报表”数据库有很多额外的非聚集索引,可能还有额外的表,用于存放计算过的汇总数据。有时候,报表数据库是用OLTP数据库备份还原而来的,之后创建额外的非聚集索引及表,这期间I/O性能很重要。在投入使用时,整体的工作负载和DW很类似。列存储索引可以这这个时候使用,关于列存储索引,可以参考这里。在事务复制中,OLTP数据库充当Publisher,而报表数据库在充当Subscriber。

OLAP工作负载

OLAP工作负载有几个不同的组件,包括读取源数据初建或更新Cube、变更时处理Cube及运行OLAP查询给用户获取数据。具有更高物理内核数的处理器、更好的内存控制器及大内存容量对于OLAP工作负载而言都是非常有价值的。OLAP工作负载有大量随机I/O,因此,基于闪存的存储对于Cube文件是很有利的。基于闪存的存储包括固态硬盘和其他设备,如Fusion-io卡,它使用固态闪存做永久存储器。些类型的设备提供了非常高的随机I/O性能这对于OLAP负载非常有用。

 

服务器选型

要为你的数据库服务器选择一个合适的服务器,你必须先确定使用Intel处理器还是AMD处理器(基准测试结果可以帮你做决定),接下来要决定使用一个单插槽、双插槽或四插槽数据库服务器,还是更大,因为这限制您的可用处理器选项。你还需要根据服务器机架单元的高度来确定是1U、2U、4U还是更大的服务器。几乎在所有情况下,2台双插槽要好于1台4插槽的机器。

为冗余选择和配置硬件

要考虑高可用方案,尽力避免硬件或配置级别的单点故障。RAID1(镜像)中2个驱动器可以为操作系统和SQL Server提供一个基本水平的冗余,如果一个驱动器发生故障,服务器也不会停止工作。为此,要试图使用至少146GB、15K 2.5"的驱动器(硬盘)。使用15K驱动器可以加快Windows Server的启动,以及SQL Server的加载。使用146GB(或更大)的硬盘提供更多的空间来容纳诸如Windows页文件、SQL Server错误日志文件、垃圾文件等,而不必担心硬盘空间。随着SSD的价格持续下跌,你或许想使用2块SSD来作为镜像启动硬盘。使用SSD能够满足你的恢复时间目标(RTO)。

要为你的数据库服务器提供双电源供给,接入各自的电源,同时接入不间断电源(uninterruptable power supply(UPS)),理想情况是为数据中心提供备用电源,如柴油发电机。服务器应该有多个网络端口,通过以太网(Ethernet)至少连接两种不同的网络交换机,这些网络交换机(也应该配备双电源)应该接入数据中心中的不同电路。多数机架式服务器至少有4个千兆位(10000Mbps)以太网端口嵌入在主板上。这种设计是为了防止由单网络端口或单网络交换机的故障引起中断。

你应该有多个RAID控制器卡(如果您使用的是直连或内部存储);多个主机总线适配器(HBA)(如果您使用的是光纤通道SAN)或多个PCIe千兆或更好的以太网卡与iSCSI SAN。这会给你更好的冗余性和更好的吞吐量,这取决于您的配置。同样,这里的想法也是要尽量避免因单个组件的故障带来中断。

永远不要让任何人无论是SAN厂商,来至你运营团队一个服务器管理员,还是你的老板说服你不要做SQL Server备份以满足您的恢复点目标(RPO)和恢复时间目标(RTO要求。老话说得好如果你没有备份,就没有一个数据库。

对于一个独立的数据库服务器,降低重启时间对可用性有直接的影响。因此,进入BIOS禁用内存测试,以便服务器更快启动,把内存测试的工作交给硬件或系统监视软件。对BIOS设置时还可以访问电源管理部分,要么禁用电源管理设置,要么将其设置为操作系统控制,否则它可以对性能产生非常显著的负面影响因为一些处理器不能对增加的工作量产生足够快的反应。

最后,你应该根据RPO和RTO要求,计划并实施一些HADR(高可用性和灾难恢复)策略,其中包括Windows故障转移群集、数据库镜像、日志传送、事务复制和SQL Server2012 AlwaysOn可用性组等。

 

硬件比较工具

我们要坚定使用现成的基准工具和一些常识及分析,来作为比较不同的硬件类型和配置的手段。常用的基准测试工具有,TPC-E OLTP基准测试软件Geekbench处理器和内存性能基准

 

你可能感兴趣的:(揭秘硬件)