strange performance dip shown by iozone

David Schultz das at FreeBSD.ORG
Thu Feb 19 23:23:40 PST 2004

On Wed, Feb 18, 2004, mi+mx at wrote:
> I'm trying to tune the amrd-based RAID5 and have made several iozone
> runs on the array and -- for comparision -- on the single disk connected
> to the Serial ATA controller directly.
> The filesystems displayed different performance (reads are better with
> RAID, writes -- with the single disk), but both have shown a notable dip
> in writing (and re-writing) speed when iozone used the record lengthes
> of 128 and 256. Can someone explain that? Is that a known fact? How can
> that be avoided?

This is known as the small write problem for RAID 5.  Basically,
any write smaller than the RAID 5 stripe size is performed using
an expensive read-modify-write operation so that the parity can be
recomputed.  The solution is to not do that.  If you expect lots
of small random writes and you can't do anything about it, you
need to either use RAID 1 instead of RAID 5, or use a
log-structured filesystem, such as NetBSD's LFS.

More information about the freebsd-fs mailing list