Recommended RAID5 stripe size?

18,823

From your own data it should already be rather obvious to chose the most used chunk size. From the data you presented I would go for 128K (assuming more reads than writes).

This will reduce the wasted time on reads & writes significantly. How this turns out on your real world performance however is another story and depends heavily on the the type of load. With very flat queues the difference will probably not be huge.

For reference: There is an answer (and comment) to a different RAID-related question here on superuser which gives some good basic understanding of how to choose stripe size: https://superuser.com/a/647385/321113

Also on serverfault: https://serverfault.com/a/517251

Both of these clearly state that if you know which size your application(s) mostly use (which seems the case with the given statistics) you should go for these.

Share:
18,823

Related videos on Youtube

Souhir
Author by

Souhir

Updated on September 18, 2022

Comments

  • Souhir
    Souhir over 1 year

    I have a RAID5 array built from 4 1TB drives. I initially set the stripe size to 1M since I will be storing large files (much larger than 1MB). The NTFS cluster size is 64KB (largest possible). However, seeing the statistics made me reconsider my choice.

    The software is relatively stupid and only has on 1 thread with QD=1, so for reads (this array will be mostly read) I will get an SSD and use that as cache. I won't be using that for writing, leaving only the internal cache of the controller (Adaptec 5805Z).

    Still, I would like to get the best performance from this array.

    So, the statistics (I can see them using Adaptec Storage Manager) say that for reading, 64KB, 128KB and 256KB are most common with 128KB taking first place (the software reads in 128K blocks). There were zero 512K or 1M reads. With writes, 256K is most common, 128K taking second place.

    The question: Will changing the stripe size to 256K or 128K (or lower) speed up the array considering the statistics? Would that slow down the rebuild of the array?