A Comparison of Chunk Size for Software RAID-5

Linux Software RAID Performance Comparisons (2012)

The Problem

Many claims are made about the chunk size parameter for mdadm (--chunk). One might think that this is the minimum I/O size across which parity can be computed. There is poor documentation indicating if a chunk is per drive or per stripe. This study determines that.

The Controller

The Test System

The Test Matrix

Conclusion

The default chunk size of 64KB provides resonable average performance. Sizes below the default should not be used. Surprisingly, chunk sizes of 128KB and 256KB provide decreased maximum throughput for both small block and large block reads, especially for sequential reads.

Compared with the legacy default of 64KB, 1024KB chunks provides a 30% improvement in large sequential reads (1GB) and an 85% improvement in 16KB random writes. The current default is 512KB, which provide benefits of a larger chunk size.

Recommendation: 512 (default)

Small Block Tests



Large Block Tests