Evaluating the performance of ext3 using write barriers and write caching

Filed under
Linux

The ext3 filesystem supports write barriers which are designed to allow a filesystem to take advantage of a disk’s write cache without fear of compromising the ingetrity of the filesystem on a power failure or kernel panic. I’ve seen reports that ext3 write barriers have a significant impact on performance.

Of course, the alternative is to disable the write cache (as is recommended many places) and suffer the performance loss from that. Given that the use of write barriers means forsaking many Linux storage tools which do not support write barriers (lvm, dmraid, dmcrypt, md raid except raid1, etc) it seems like the best option for flexibility is to just turn off the hard disks write cache and keep one’s options open. However, if the difference in performance between write barriers enabled and write cache disabled is significant then using write barriers would be a better option when IO performance is important. I often find IO to be the bottleneck on my servers so any improvement in IO performance is worth investigating.

I ran some tests with bonnie++ and came up with these numbers.