http://www.storageperformance.org , 看网站的名称就知道这个网站就是专门搞“存储”的“性能”评测。比较遗憾的是,它没有中文版。由于各个厂家宣称的性能指标都是不按照统一的测试标准做的,谁优谁劣根本就是一个糊涂帐,于是乎就催生出SPC(Storage Performance Council)即存储性能理事会。SPC的SPC-1基准测试主要是针对随机I/O应用环境的,例如,OLTP应用,SPC-2基准测试主要是针对顺序I/O应用环境的,例如,三维数据、地图数据。SPC-1基准测试很好地模拟了OLTP、数据库和e-mail等真实应用环境,使SPC-1基准测试结果具有很高权威性和可比性。
存储产品很多,该网站不能一一评测,但是可以找存储产品的同门师兄弟进行比较。例如:俺们这用的是EMC的CX3-10,该网站没有描述,但是可以看看他的同门师兄 CX3-40 的评测。
我比较看重的是"Response Time – Throughput Curve” 图,这是该图的说明:
The Response Time-Throughput Curve illustrates the Average Response Time
(milliseconds) and I/O Request Throughput at 100%, 95%, 90%, 80%, 50%, and 10% of the
workload level used to generate the SPC-1 IOPS™ metric.
The Average Response Time measured at the any of the above load points cannot exceed 30
milliseconds or the benchmark measurement is invalid.
我主要看两点:
1。横坐标的IOPS最大值
2。纵坐标的Response Time
这是CX3-40的"Response Time – Throughput Curve” 图。而IBM DS4800的"Response Time – Throughput Curve” 图是:
还有IBM DS8300 Turbo的"Response Time – Throughput Curve” 图:
呵呵,从这个图粗略地看,高端阵列(DS 8300)比中端(CX3-40 DS4800)牛很多(废话)。从IBM这两款阵列的"Response Time – Throughput Curve” 图来看当压力超过80% 的时候,反应时间将会“大大”增加,著名的“二八定律”再次被得到验证
这里有几个概念要说一下:
IOPS(I/O Requests per second):即每秒输入输出次数。指的是系统在单位时间内能处理的最大的I/O频度;一般,OLTP应用涉及更多的频繁读写,更多的考虑IOPS
Throughput:指的是单位时间内最大的I/O流量;一些大量的顺序文件访问,例如流媒体,更多的考虑throughput指标。
Response Time:反应时间,这个很好理解,(做Web开发,对于Request和Response应该很敏感啦)。
带宽决定于整个阵列系统,与所配置的磁盘个数也有一定关系,RAID级别有一定关系;而IOPS则基本由阵列控制器完全决定。在Web、E-mail、数据库等小文件频繁读写的环境下,性能主要由IOPs决定。在视频、测绘等大文件连续读写的环境下,性能主要由带宽决定。可见,在不同的应用方式中,需要考察的侧重点也不同。
由于我工作的环境主要是数据库方面,我对IOPS这个指标比较敏感。
当然,IOPS只是一个参考指标,并不是决定因素,越高的IOPS当然价格也越高啦,如果应用并不是太繁忙,再高的IOPS也是用不上的,例如DS3400这款阵列:
最大的IOPS非常低,但是反应速度非常迅猛,相信在IO要求不高(IOPS小于9000)的应用场合表现会比CX3-40好。
还有很多其他指标还在研究中,希望本文对你有帮助。