CPU、缓存、存储性能?还是别闹了-存储系统采购指南
原来,W主任是一家国企设计院的信息化主任,最近,单位的信息化系统要改造,决定上一套存储系统实现存储资源的集中。本来,W博士所在的设计院以前从来没部署过存储系统,这次W主任想当然认为存储应用的需求也应该较为简单,无非是单位外部网站建设、内部资料图库的整理还有一些OA系统和财物数据的存放。
占系统资源绝大部分的还是设计院的资料图库,要知道W主任所在的设计院是国家一级设计院,多年来积累了大量的设计图文件,这些文件的大小分别从几兆到几百兆,占用了大量的存储空间。而一些OA系统、财务数据还有图库的索引系统则涉及到数据库的应用。
根据几家集成商的建议,最后方案基本确定为双机热备方案了,基本大家一致觉得这种方案的可靠性较高。双机热备方案中服务器的选择W主任还是比较有经验的,无非是CPU、缓存等等硬件指标,但对于存储系统的选择,却让以前从未接触过存储系统的W主任犯了难。
存储采购,有一点苦恼
经过几家集成商的轮番忽悠,再对照存储系统的性能参数表一看,W主任发现存储系统的参数表还颇有些奇怪的地方。
就比如说存储系统的出口带宽,本来用光纤硬盘的存储系统毫无疑问比SCSI硬盘的存储系统要贵出很多,理论上性能应该更好带宽应该更大,几家集成商也都众口一词力劝W主任选择光纤存储系统,但W主任仔细一琢磨:光纤的主机接口,如果不是4Gb的接口卡,那么一个主机接口才提供2Gb的带宽,而SCSI目前都是Ultra 320 SCSI技术,一个主机接口的带宽就大约在3Gb左右,看起来便宜的反而带宽更大速度更快了。
W主任实在有点糊涂,除此之外,还有IOPS、LUN等等看起来高深复杂的参数也让W主任摸不着头脑。这不,W主任只好搬来了救兵,打电话给老同学O博士请教了。
决定性能的两大指标
两人约在了单位附近的一家避风塘见面,O博士一进来,就看见坐在角落里默默抽烟的W主任,不仅叹了口气,该好好帮帮老同学了。两人简单的寒暄说明了情况之后,心急的W主任首先发问:采购存储系统时最需要考虑的是哪些指标?
O博士不慌不忙也点上了一支烟,开始侃侃而谈:首先,存储系统的采购和服务器是完全不同的,并不是CPU越强劲、缓存越大、主机接口越多的系统性能就一定好。如果你这样认为,只能说明你对存储系统还不够了解。
综合评价存储系统的整体性能指标的参数通常有两点,IOPS和带宽。前者表示单位时间内,系统所能够执行的I/O总数;后者表示单位时间内,系统所能完成的数据读取总量。毫无疑问,这两项参数数值越大,说明存储系统单位时间内的处理能力和吞吐能力越强。而这两点参数通常在产品的性能参数里面有明确的说明,因此理论上,通过这两个参数就可以明确的知道存储系统的综合表现了,这就是存储系统采购简单的地方。
听到这里,W主任恍然大悟,开始明白那些厂商列在系统参数表上的参数的涵义了,但又有点不放心:存储系统的采购真的就这么简单?
说到这里,O博士意味深长的笑了:如果厂商真的会把存储系统的真实参数老老实实列在产品说明里面,那存储行业还有什么神秘可言呢?
原来,存储厂商列在产品参数表上的数据都是在完全理想的状态下测试出来的,甚至可说是完全为了推广所采用的外部数据,实际上真实的使用环境中,存储系统的IOPS与带宽绝对与产品参数表上的数值相差甚远。因此,反过头来,我们仍然需要去研究存储系统的硬件配置了,但是也并不能机械简单的比较各项参数的数值,而需要考虑很多参数表以外的因素。
缓存对IOPS的影响
首先,中端和高端的光纤存储系统和ISCSI存储都是基于控制器架构的,对这部分产品来说,存储性能的好坏关键在于控制内部的结构设计,设计先进的控制器可能处理效率非常高,因而并不一定要求很高速的CPU,也不需要很大的缓存。设计不好的存储即就是采用了很好CPU,很大的缓存,其性能也不见得就好。 #p#page_title#e#
但是缓存对性能仍然是有很大的影响的,主要体现在读数据时候的缓存命中率上。存储设备写数据的时候,都是先写入缓存,再从缓存批量写入磁盘,因此存储系统写入操作通常都会比较快。读数据的时候,存储设备则会先搜索一遍缓存,看看数据是否能在缓存命中,如果能命中,则能够非常快速的读取,如果不能,则需要耗费数倍的时间到磁盘去寻找并读取。
因此,缓存对系统性能的影响实际上体现在读数据的缓存命中率上,缓存命中率越高,系统的IOPS值就越高。而缓存命中率又受到多方面的因素影响(包括系统算法、数据分布还有访问规则等等),缓存大小只是其中之一,因此盲目增大缓存,并不一定能够提高缓存命中率,也不一定能增强系统性能。
以O博士的经验,在数据库、小文件应用的环境中增大缓存是能够大幅度提高数据写入的速度,当然前提是后端磁盘性能达到极限。但在大文件读取的应用环境,增加缓存所带来的性能提升幅度并不大。例如,在O博士经历过的一些广电行业的案例中,有些存储设备只采用了2-4GB的缓存,就能够有700-800M的大带宽,而有些存储即使采用32GB的超大缓存,其带宽性能仍然很低。
带宽的决定因素
W主任似乎有一点明白了,但又想起最初关于主机接口的速度的疑问,于是接着问道:系统性能表里面,SCSI接口的速度大约在3Gb/s,光纤接口的却分为2Gb和4Gb两种类型,究竟我应该选择哪种主机接口?为什么3Gb/s的SCSI接口反而要比2Gb的光纤接口便宜呢?
O博士喝了口奶茶,耐心的继续解释:主机接口对性能的影响主要体现在带宽上。实际上,带宽是受到磁盘个数和主机接口两方面共同影响的。存储系统内每个磁盘有允许的最大带宽,例如,我们假设每块磁盘的最大带宽为13M/s,那么一个阵列如果有120块磁盘,能够支持的最大带宽就是120*13=1560Mb/s,当前端接口不成为瓶颈的时候,1560Mb/s就是理论上的最大数据流量。
而如果要实现上述的最大带宽,如果前端采用2GB的光纤卡,可能需要配置6块才能够,而4GB的光纤卡,配置3-4块就够了。因此存储系统的最大带宽是由前端主机接口与磁盘最大带宽共同制约的。
在后端磁盘不成为瓶颈的情况下,光纤通道对带宽的影响也还是比较大的,例如数据仓库环境中,对数据的流量要求很大,而一块2Gb的光纤卡,所能支撑的最大流量应当是2GB/8=250Mb/s的实际流量,必须配备4块光纤卡才能达到1Gb/s的实际流量,所以对于数据仓库的环境来说,升级到光纤4Gb并不是厂商和集成商的忽悠,在大流量的数据环境下绝对有必要考虑更换4GB的光纤卡的。
但是另外一个方面,主机端口数量增加到一定数量,足以完全输出存储设备的最大性能时,再增加更多的主机端口并不会增加性能。因此不能片面地相信主机端口越多性能就越高的说法。
至于光纤卡为什么看起来带宽速度反而不如便宜的SCSI,曾经有专家打过一个比方:光纤之于SCSI,好像火车和马车相比。虽然世界上第一辆火车没有马车跑得快,但后来的发展证明,火车这一技术是绝对领先于马车的。不是你看,现在4Gb的光纤口已经超过SCSI了吗?而且最关键的是,光纤传输数据更稳定,而SCSI则相对而言不那么稳定,就像马车虽然比火车快,但也更容易发生事故、更容易被打劫一样。
具体该如何选择?
W主任真有茅塞顿开的感觉,O博士却仍然滔滔不绝:刚才我们说的,都是针对光纤阵列而言的。NAS存储设备和一些中低端的ISCSI都是基于PC架构,说白了其核心部分就是一台PC服务器,它的性能会因CPU和内存变化而发生变化,但变化也有一定的范围。
这类存储其性能一般取决于自身操作系统设计,文件系统中数据管理和数据检索等方面的设计,而不是CPU和缓存。先进高效的文件系统可是存储产品对外提供非常高的性能。NATAPP的高端NAS为什么性能好,就是因为它内部有一个非常高效的文件系统,而不是因为CPU和缓存大…… #p#page_title#e#
O博士还在滔滔不绝,W主任却有些着急了:具体到我们设计院的环境,我应该采购什么样的存储系统呢。
O博士不慌不忙两手一摊:我不知道!
这下W主任仿佛当头泼下了一盆凉水,嘴巴也张成了一个“O”型,如此博学多才的老同学竟然也不知道该咋选择存储系统?
O博士仿佛没看见老同学夸张的表情般,自顾自说了下去:要想知道梨子的滋味,就必须亲自尝一尝。因此我的建议是,在采购前,非常有必要对一些系统进行实际测试,或者去问问有实际系统使用经验的人也可以。不然,纯粹看印刷在产品说明上的系统参数,很难看出门道。
另外很重要的一点,就是要分清楚业务类型。基本上不同的业务类型对存储系统的要求是不一样的。对于数据仓库的环境,如医疗PACS系统、视频编辑系统包括你们设计院的资料图库,数据读取的频度并不很大,但一次读取的数据量却异常庞大,这种应用对存储系统的带宽要求往往比较高,因此在采购时候,尽量多考虑一些可能会对带宽造成影响的因素。包括硬盘数量,主机接口等等。
另外一类就是小I/O的数据库应用,数据写入读取的频度很大,但每次写入的数据大概都在几个KB的大小,这时候你只需要考虑IOPS的影响,带宽基本对整体系统的应用性能不会产生太大影响。这种情况下,你甚至可以采用一个2Gb的光纤卡,但重点要放在优化数据结构,了解存储系统的算法规则上,以求最大限度的提高缓存命中率。
后记:亲自尝梨子的滋味
说到了这里,W主任心里的一块石头总算落了地,虽然还不知道具体应该采用什么样的存储系统,但总算有了一点底儿,这些天厂商对他忽悠的各种概念,也仿佛有了一条清晰的主线连接了起来。回想起刚开始采购的时候,还以CPU、缓存、主机接口这些指标来写招标书,W主任真是觉得当初对存储的了解太少了。
O博士这下也没有丝毫卖弄的意思:拿到一定产品的说明书或产品的宣传彩页,千万别完全迷信上面所写的技术参数,更别相信8个4GB FC就能提供3200GB带宽,8个以太网接口就能提供800M带宽的鬼话,那都是用来骗外行的。跟你说了这么多,只是希望你们在选择存储设备时,能够合理和正确地对待CPU、缓存和接口等技术参数,并根据自己系统的应用类型和带宽,IOPS等指标,合理地选择存储设备……
一个下午就这样在两位老同学的交谈中过去了,W主任现在对如何选择存储设备已经有了清晰的认识。但这还只是开始,今后,W主任还打算亲自去操作这些存储系统,了解这些存储系统的实际性能,才能在下次采购的时候不被“忽悠”……