我们仍然使用了IOMeter 2006.07.27来获得其IOps参数大小,这个参数可以代表一个磁盘子系统在单位时间内可以完成多少操作。有些时候,连续传输速率很快的硬盘其IOps却不高,这表明其实际上干不了太多的活。
IOMeter MaxIO : ST3450856SS ARA WB Cached I/O
IOMeter MaxIO : ST3450856SS ARA WB Cached I/O
在阵列卡采用自适应性预读、WriteBack缓存策略以及Cached I/O的设置下,Cheetah 15K.6和Cheetah 15K.5都能获得最高68000 IOps的成绩,然而要注意到,这是阵列卡下的成绩。阵列卡上具有的缓存机制会让我们得不到真实的磁盘性能,我们现在要的不是阵列性能,因此我们需要对阵列卡进行另外的设置才能得到真实的IOps成绩。
15K4采用的是Ultra SCSI 320控制卡,而WD VelociRaptor采用的是Intel ICH7R南桥芯片的磁盘控制器,因此没有这些问题。
IOMeter MaxIO : ST3450856SS ARA WT Direct I/O
IOMeter MaxIO : ST3450856SS ARA WT Direct I/O
如图所示才很好地符合了实际磁盘的性能:我们采用了WriteThrough缓存策略以及Direct I/O模式,这样阵列卡的缓存影响将会降低到非常小。最终的结果显示15K.6具有着58941.1的峰值读取IOps,从数据来看,比15K.5略为高上一丁点。从曲线上看,15K.5和15K.6都是在1~64的队列深度上维持较高的IOps,一旦过了64就大为降低,这一点是和这两系列硬盘的特点很符合的:这两个捷豹兄弟的设计支持队列深度都是64。虽然SCSI/SAS规范上可以支持最高256的TCQ队列深度,不过似乎没有什么磁盘有实现。对于SATA来说,NCQ的队列深度最大值是32。
写入IOps曲线很怪,可能跟阵列卡也有关系,15K.6峰值达到了31611.6 IOps,不过之后则惨不忍睹。大体上,在这块阵列卡上15K.5和15K.6的连续写入IOps都不高。
注解:
WriteThrough与WriteBack:在缓存技术上经常会碰到的词,一个被叫做“写通”,另一个则是“写回”,具体上就是在具有缓存的IO上,写通是写入时数据不使用缓存直接写入(到硬盘),而写回则不是,它会先保存到缓存,在空闲的时候才将数据写入(到硬盘),换句话说,一个是同步写入操作,一个是异步写入操作。通常WriteBack设置会提高总的吞吐率,然而有些情况下却不是这样。具体的设置将会在下一篇文章中介绍。