某客戶新到一臺DS8800,暫時還沒有應(yīng)用要上線,所以臨時拿來做了一番測試。
測試目的:測試在常見的使用場景中DS8800的性能,以便為未來的生產(chǎn)環(huán)境選擇一個性能較高的存儲配置。
DS8800配置:4-way p6+ dual controller,128G data cache,80塊900G 10K SAS disks,2塊8口8Gbps host connection adapter。
測試機(jī):P780 lpar,8C/32G,2塊4Gbps HBA,AIX 6100-07-04,SDDPCM 2.6.3.2,每個存儲盤4條鏈路。
測試軟件:fio 2.0.9,參數(shù)如下
———————————-
[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的磁盤默認(rèn)iodepth為20,fio使用iodepth=1參數(shù);使用sync ioengine;每次測試運行6分鐘;對裸盤或者裸邏輯卷(LVM STRIPE)測試。
分別測試了順序讀寫和不同io大小的隨機(jī)讀寫(讀/寫/讀寫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,根據(jù)測試需要分別建ExtPool,4條4Gbps Host Connection。
測試結(jié)果做成圖表如下:
根據(jù)圖表,有一些“顯而易見”的結(jié)論:
1、根據(jù)順序訪問的性能圖,DS8800的順序讀最大IOPS約為83000,順序?qū)懽畲驣OPS約為65000,平均延遲不到1ms,應(yīng)該是寫存儲cache的值。
Single-RANK和多個Single-RANK+LVM STRIPE這兩種情形下的順序讀寫IOPS、延遲非常接近;但是多RANK POOL STRIPE的情形下,順序讀和寫的IOPS卻只有另兩種情形的一半,同時平均延遲也降到一半,為什么呢?
不同RAID配置下的順序讀寫IOPS和延遲幾乎沒有差別。
2、 根據(jù)隨機(jī)讀的性能圖 ,隨機(jī)讀的最大IOPS不到7000,平均延遲最大不到13ms。
Single-RANK和多個Single-RANK+LVM STRIPE這兩種情形下的各種block size的IOPS表現(xiàn)比較相似,在16K block size下,隨機(jī)讀最大IOPS都達(dá)到5000以上;但是多RANK POOL STRIPE的情形下,大部分block size下的隨機(jī)讀IOPS下降到另兩種情形的一半以下,IOPS最高的是RAID6配置下的64K block size的情形,不到2800,僅為相同block size下最高值的53%,同時平均延遲也較低,為什么?
RAID6與RAID5配置下的隨機(jī)讀IOPS差別很小;但是RAID6比RAID5的平均延遲低,最大的相差一倍;RAID10配置下的隨機(jī)讀IOPS最好,特別是LVM STRIPE或POOL STRIPE的情形下,最大的提高了一倍,16K block size下提高了30%多;同時RAID10配置下的各情形的平均延遲是最低的。
3、根據(jù)隨機(jī)寫的性能圖,隨機(jī)寫的最大IOPS不到4700,平均延遲最大達(dá)到了28ms。
Single-RANK下的隨機(jī)寫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應(yīng)用要求最大延遲在20ms以下)。
———————————————-
匯總?cè)缦聢D(3最差)