DoSTOR存储分析:SAS是取代旧式SCSI规格的新一代串行式传输标准,通过聚合4条通道可提供极高的传输速率,然而在真实环境中,数据传输链中最慢的环节将会决定整个存储系统的性能,影响性能的因素包括从前端服务器到外部存储系统间一连串的变量,磁盘接口只是其中一环。
SAS通道在大区块存储有吞吐量优势
以3类SAS磁盘阵列(FC-SAS磁盘阵列、iSCSI-SAS磁盘阵列、SAS-SAS磁盘阵列)来说,理论上的传输带宽是以可提供4条SAS通道聚合的SAS-SAS机型最高,理论带宽可达1200MB/s;而4Gb FC通道的FC-SAS形次之,为400MB/s,至于以GbE网络为基础的iSCSI-SAS则只有125MB/s。
从Iometer的测试结果也能反映出前述带宽的差距。由于测试环境中在前端发起存储需求的服务器都是同一台,而受测的10台磁盘阵列中,除一台采用1万转SAS硬盘外,其余均使用1.5万转SAS磁盘,因此性能差异可以归因于服务器与磁盘间的传输信道差异,以及磁盘阵列控制器本身处理能力上。
由我们的测试结果可看出,SAS-SAS、FC-SAS与iSCSI-SAS刚好形成泾渭分明的3个群组,SAS-SAS在大区块(128kB)存储时有最高的数据吞吐量,3台SAS-SAS机型吞吐量都可达到400~600MB/s,FC-SAS次之,6台FC-SAS机型均在350~380MB/s之间,而iSCSI-SAS则居末,吞吐量仅及SAS-SAS的1/4~1/5。
在小区块(512Bytes)存储时,由于总容量相同的数据,处理器必须执行更多次的I/O指令才能完成存储作业,因此处理器性能就会成为另一个瓶颈,由测试数据也可看出,除iSCSI-SAS机型外,各机型间差异并不大,FC-SAS与SAS-SAS机型得到的最大I/O处理能力数值都差不多。
要特别注意的是iSCSI-SAS机型测得的IOPS数值虽较低,但这或许可归因于服务器系以微软iSCSI initiator 2。0作为iSCSI发起器,软件式iSCSI initiator非常消耗处理器资源,因此前端服务器部分处理性能耗费在处理iSCSI initiator上,以致影响了向后端磁盘阵列发起存储要求的能力。若能安装iSCSI HBA卡或支持TOE的网络卡,应该能一定程度的改善IOPS表现。
端点对端点环境下,通道带宽影响有限
从档案备份还原测试中,我们发现到磁盘阵列采用的传输信道带宽和备份/还原速率不成正比,备份/还原本质上是大区块数据的循序读取与写入,这项测试中理论带宽最小的iSCSI反而有最好的表现,GbE iSCSI的带宽只有4G FC的25%,更只有SAS 4×的9.6%,但采用iSCSI的Equallogic PS3600X备份还原速率还超过某些采用FC或SAS 4×机种,幅度甚至达50%以上。
这个结果也印证了传输通道的带宽在实际应用中通常不是性能瓶颈所在。以备份来说,牵涉到的因素还包括将数据从前端服务器硬盘读出的速度,还原时则牵涉到把数据写回前端服务器硬盘的速度。另外前端服务器与后端磁盘阵列控制器的处理器性能,以及采用的备份软件处理机制等都有影响。举例而言,当我们把前端服务器上用于备份测试的7,200转SATA硬盘换为1万转的SCSI硬盘,所有受测机的备份还原速率都能得到30~50%的提升。
除上述因素外,机箱设计能否充分解决10多台1。5万转高速硬盘同时运转时带来的振动,对磁盘阵列性能造成的影响可能还比通道带宽大。Seagate与NeaApp等硬盘与存储系统供货商的公开报告均指出,震动会严重影响磁盘阵列性能,严重时甚至可有50~80%以上的落差。而从我们的测试结果中亦可发现,某些采用相同硬盘的不同磁盘阵列,测试数据却有20~25%以上的差距,我们已尽可能将测试环境中除磁盘阵列型号外的其它变量均全部统一,而控制器本身处理能力的差距一般不会造成这么大的差距(许多RAID控制器还都是采用相同的处理器),故这个结果可推测是不同机箱设计带来的结果。
前端服务器I/O与磁盘阵列硬盘数量、转速是瓶颈所在
为进一步检验存储环境的瓶颈所在,我们另外进行了FC-SAS机型在单信道与双信道下的测试,并与过去在同一平台上测试的其它机型作比较。由表可以看出,测试环境中传输通道带宽与性能并不成线性增加。
由此可明显看出,测试中数据传输的瓶颈并不在于总线的带宽,而在由硬盘内部机械机构、盘片存储密度与盘片转速等决定的硬盘内部传输速度。目前主流的3。5寸1。5万转FC或SAS硬盘内部持续传输速度最高可达80~125MB/s,7,200转的SATA硬盘则只有72MB/s,若以装满4Gb FC的400MB/s为目标,至少要以4台FC或SAS硬盘组成数组,换成SATA硬盘则需至少7台。假设磁盘阵列对外传输信道相同,由于单台硬盘能提供的I/O能力是固定的,因此不管硬盘采用SAS或FC接口,只要组成数组的硬盘类型、数目与数组形式相同,则所得到的存储性能也相同。
但如果要在不同的磁盘阵列对外传输信道间做比较,则SAS 4×的1200MB/s带宽,理论上可以比4Gb FC或GbE iSCSI更能让磁盘阵列发挥出应有的资料吞吐量,如测试结果显示的,SAS-SAS机型在大区块存储下的吞吐量比FC-SAS高出40%或更多,不过前提是组成数组的硬盘数目必须至少有10~12台,且是在大区块循序读取下,才能发挥SAS的带宽优势。
而在实际环境中,还要考虑到存储数据的类型(顺序或随机,存储区块大小),以及前端服务器的性能等,如果前端服务器的I/O性能不足,就会变成磁盘阵列在等前端服务器,因此传输通道的带宽都只是理论值,除非是有多台服务器同时要求存储的大型环境,否则像我们测试使用的这种单点对单点的环境,传输通道带宽将不会是瓶颈所在。
以我们的测试环境为例,由于伺服主机采用的是带宽1。06GB/s的PCI-X,其实是跟不上SAS,即使是连接带宽较低的4Gb FC,PCI-X也只能满足1个4Gb FC端口的环境,若要同时连接2个FC端口,也会遇到性能上的瓶颈,这也是造成测试中启用2个FC端口后,整体存储性能却未能较单端口情况下提升的原因之一。如果改用可支持PCI-E×4(2GB/s)或PCI-E×4(4GB/s)的服务器,按理应较能让磁盘阵列展现出传输信道带宽倍增后的效益。
由存储架构决定传输通道类型
从不同测试结果来看,多数环境下磁盘阵列采用的传输信道类型不是影响性能的主要因素,传输信道类型主要与用户的存储架构有关。如对已建置FC SAN的用户来说,自然是以选购FC-SAS磁盘阵列为优先;而对不打算建置昂贵FC SAN的用户,但又需要区块(Block)存储应用的用户,则可选择iSCSI-SAS机型;如果前端只有1~2台服务器需要存储磁盘阵列,或是服务器执行的应用程序负荷不是太高的话,那选择哪种传输通道都没有太大差别,但如果应用程序要求的数据吞吐量很高,则选择带宽较大的SAS-SAS或FC-SAS会是比较保险的作法。