sd performance tests, bonnie++ with different filesystems.

Al Johnson openmoko at mazikeen.demon.co.uk
Thu Jun 24 18:36:33 CEST 2010


It's good to see someone doing tests on this, but more info is needed on what 
fs creation and mount options were applied by default. These can have a major 
effect on the results. Of particular interest would be whether btrfs used the 
ssd option by default, and how the compress option would affect the results - 
does the cpu overhead of compression outweigh the reduction of bus traffic 
between cpu and glamo?

On Thursday 24 June 2010, Gennady Kupava wrote:
> Hi, list.
> 
> Unexpectedly, seems it's time for me to repartition my sd card.
> 
> So i decided to find which filesystem is best for current kernels, and
> to share my results as this topic should be interesting to everyone who
> is using sd card as storage for data.
> 
> The participants - btrfs nilfs2 ext2 ext3 ext4 reiserfs jfs xfs.
> 
> The old well-know test is bonnie++.
> 
> Resulting html table, with 2 runs:
> http://www.bsdmn.com/openmoko/fstest/fstestresults.html
> 
> The test script:
> http://www.bsdmn.com/openmoko/fstest/fsbench.sh
> 
> Results are really hard to interpret, all filesystems has weak and
> strong sides, but i'll try to do some summary now, for whoose who is
> interested.
> 
> 1. sequental io, this is quite rare now, so not really matter.
> 1.1 sequental output per char
> reiser, btrfs is non-usable in this respect. ext3 is close to unusable,
> xfs is almost ok. all others same.
> 1.2. sequental input per char
> all almost the same - latency +-25%, expect btrfs, which is 30% slower
> and have extraoridinary latencies. xfs is not good at speed too.
> 
> 2. block io, most important thing.
> 2.1 8k blocks write
> here is most surprise - ext4 and ext2 are slowest. almost 50% slower
> than xfs, jfs. ext3 have outstandingly bad latency.
> 2.2 most important thing for fs - block read.
> they all the same, except btrfs, which is much slower.
> 2.3. rewrite
> all almost same, expect btrfs and ext3.
> 
> 3. random seeks.
> it's seek+read or write. useful operation. only test where btrfs is
> relatively good in performance.
> 
> 4. create/delete tests
> 1. Create (random)
> great difference here, ext2, ext4, xfs, are bad. ext3, btrfs, reiser
> 5-10 times better.
> 2. delete (random)
> ext2,ext3,ext4,reiser,btrfs are good, jfs and xfs 10 times slower.
> 
> my conclusion here is that good filesystems:
> ext2 and ext4 have same performance in this test.
> reiserfs is best, despite of name of it's creator.
> ext2 is good except file creation and remove.
> xfs is good except file creation and remove.
> ext3 is good _for_ file creation and remove.
> 
> so, my choise of fs will be:
> /boot -> ext2 for compatibility
> /, /usr -> xfs, need fast block r/w.
> /home -> reiser, need fast file create/remove, and overall balance
> /var -> reiser, 'append fs', need good overall balance.
> 
> i wanted to test nilfs2 (and use it for /var), but it didn't pass
> testing - out of free space.
> 
> All tests were done on .34, yesterday git (with FIFO LCM patch). Short
> tests algorithm: for each fs: create fs on same mmc partition, mount
> (with noatime) and run bonnie in mounted directory, then umount. I did
> two runs to ensure results are sane.
> 
> plain dd read speed of my sd card is 2.7Mb/s.
> 
> Gennady.
> 
> 
> _______________________________________________
> Openmoko community mailing list
> community at lists.openmoko.org
> http://lists.openmoko.org/mailman/listinfo/community
> 




More information about the community mailing list