If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Btrfs, EXT4 & ZFS On A Solid-State Drive

08-09-2010, 02:00 AM

Phoronix: Btrfs, EXT4 & ZFS On A Solid-State Drive

With the benchmarks recently looking at the performance of ZFS on FreeBSD versus EXT4/Btrfs on Linux having generated much interest and a very long discussion, this morning we are back with more benchmarks when running ZFS on FreeBSD/PC-BSD 8.1 and Btrfs and EXT4 on an Ubuntu Linux 10.10 snapshot with the most recent kernel, but this time the disk benchmarking is being done atop a high-performance solid-state drive courtesy of OCZ Technology and the CPU is an Intel Core i7. The drive being tested across these three leading file-systems is the OCZ Vertex 2 that promises maximum reads up to 285MB/s, maximum writes up to 275MB/s, and sustained writes up to 250MB/s.

Comment

No, it's no longer needed or used. Btrfs will auto-detect if it's an SSD and apply optimizations accordingly. You can check in the dmesg when mounting Btrfs on an SSD and you should automatically see a message about SSD optimizations.

Comment

Has anyone with an SSD tried using the RAID optimisation options in ext4 (also available in ext2/3) to tweak it for better SSD performance?

What I have in mind is that the underlying flash memory block size on an SSD could be considered to be analogous to the RAID stripe width in that modifying a smaller or non-aligned block of data results in a read-modify-write cycle. The '-E stripe-width=n' option to mke2fs tells the filesystem block allocator to place data so as to try to avoid read-modify-write cycles if possible (i.e. align it to the start of a block and fill an entire block wherever possible).

If it's possible to find out from an SSD manufacturer (or even by querying the drive?) the flash block size, it might be interesting to compare performance of a drive set up "any old how" with one containing a partition that is aligned to the start of a flash block bearing a filesystem created with the stripe width option. One would expect to see some difference in the write tests but not in the read tests.