新到IBM DS8800高端阵列之性能测试

  某客户新到一台DS8800,暂时还没有应用要上线,所以临时拿来做了一番测试。

  测试目的:测试在常见的使用场景中DS8800的性能,以便为未来的生产环境选择一个性能较高的存储配置。

  DS8800配置:4-way p6+ dual controller,128G data cache,80块900G 10K SAS disks,2块8口8Gbps host connection adapter。

  测试机:P780 lpar,8C/32G,2块4Gbps HBA,AIX 6100-07-04,SDDPCM 2.6.3.2,每个存储盘4条链路。

  测试软件:fio 2.0.9,参数如下

  ———————————-

  [global]

  bs=8k

  rw=randread

  ioengine=sync

  runtime=300

  direct=1

  iodepth=1

  group_reporting

  ramp_time=6

  [test]

  filename=/dev/rhdisk2

  size=360G

  numjobs=20

  ————————————

  DS8800的磁盘默认iodepth为20,fio使用iodepth=1参数;使用sync ioengine;每次测试运行6分钟;对裸盘或者裸逻辑卷(LVM STRIPE)测试。

  分别测试了顺序读写和不同io大小的随机读写(读/写/读写4:1),每个测试跑3遍,然后取平均值。测试过程中,磁盘压力都是满的,CPU大量IOWAIT。

  测试了使用不同RAID(只支持RAID6/RAID5/RAID10)配置,来自单个RANK的磁盘、4个来自单RANK的磁盘做LVM STRIPE(16K条带化)后的逻辑卷、来自4个RANK组成的EXTPOOL做rotateexts划分的磁盘,4k~256k不同block size,这几种情形分别组合的场景下的读写性能。各组合场景如下图表所示(图右边blocksize没有列完整,4k~256k):

  DS8800配置上,用了4个ArraySite建RAID6 Array,4个 ArraySite 建RAID5 Array ,2个 ArraySite 建RAID10 Array,根据测试需要分别建ExtPool,4条4Gbps Host Connection。

  测试结果做成图表如下:

  根据图表,有一些“显而易见”的结论

  1、根据顺序访问的性能图,DS8800的顺序读最大IOPS约为83000,顺序写最大IOPS约为65000,平均延迟不到1ms,应该是写存储cache的值。

  Single-RANK和多个Single-RANK+LVM STRIPE这两种情形下的顺序读写IOPS、延迟非常接近;但是多RANK POOL STRIPE的情形下,顺序读和写的IOPS却只有另两种情形的一半,同时平均延迟也降到一半,为什么呢?

  不同RAID配置下的顺序读写IOPS和延迟几乎没有差别。

  2、 根据随机读的性能图 ,随机读的最大IOPS不到7000,平均延迟最大不到13ms。

  Single-RANK和多个Single-RANK+LVM STRIPE这两种情形下的各种block size的IOPS表现比较相似,在16K block size下,随机读最大IOPS都达到5000以上;但是多RANK POOL STRIPE的情形下,大部分block size下的随机读IOPS下降到另两种情形的一半以下,IOPS最高的是RAID6配置下的64K block size的情形,不到2800,仅为相同block size下最高值的53%,同时平均延迟也较低,为什么?

  RAID6与RAID5配置下的随机读IOPS差别很小;但是RAID6比RAID5的平均延迟低,最大的相差一倍;RAID10配置下的随机读IOPS最好,特别是LVM STRIPE或POOL STRIPE的情形下,最大的提高了一倍,16K block size下提高了30%多;同时RAID10配置下的各情形的平均延迟是最低的。

  3、根据随机写的性能图,随机写的最大IOPS不到4700,平均延迟最大达到了28ms。

  Single-RANK下的随机写IOPS最差,不到另两种情形下的一半,甚至在三分之一以下;多RANK POOL STRIPE配置和多个Single-RANK+LVM STRIPE下的IOPS相差较小,但是在RAID5配置下前者要比后者高20%~30%。

  RAID10配置下的IOPS最高,RAID5次之,RAID6最低;RAID10下的平均延迟最低,另两种RAID配置下都有部分block size下的平均延迟过高;其中RAID6和RAID5配置下,Single-RANK下的4k、8k、16k block size下和多个Single-RANK+LVM STRIPE下的32k、64k block size下的平均延迟,均超过了13ms(一般OLTP应用要求最大延迟在20ms以下)。

  ———————————————-

  汇总如下图(3最差)