BTRFS EXT3 EXT4 XFS and KVM virtual machine: a host-side filesystem comparison

Written by Gionatan Danti on . Posted in Linux & Unix

User Rating:  / 14
PoorBest 

Sequential read / write speed

UPDATE 2012-07-24: reviewing my IOMeter profile for another analysis, I found a typo on the 128 KB sequential test. That profile incorrectly used 4 KB blocks instead of 128 KB ones. This means that this page, while originally intended to measure 128 KB sequential speed, is really about 4 KB sequential performance. I will update the review with correct data as soon as possibile. Sorry for the error.

UPDATE 2012-08-23: I have finally updated the page with the correct 128 KB sequential read/write test (if you continue to see the old values, press F5 to refresh).

While random I/O speed is crucial for system responsiveness and overall performance, sequential speed is important also: often we are dealing with big files, on which read / write operations are done with bigger block sizes.

So, how the contenders fare with 128 KB blocks size under IOMeter? First, reads: 

BTRFS EXT3 EXT4 XFS with KVM: Sequential read

EXT3 and EXT4 are the leaders here, shortly followed by XFS. BTRFS is the slower – by far.

Now, writes:

BTRFS EXT3 EXT4 XFS with KVM: Sequential write

BTRFS write performance are even worse! EXT3 and EXT4 remain on the top, with XFS a bit behind.

Comments   

 
#1 NGRhodes 2012-07-25 12:07
Hi,

When looking at fragmentation, do not forget that EXT4 supports a maximum 32K blocks in an extent, which at the default 4KB block size is 128MB.
As your benchmarks show, does not appear to be a performance limitation.
What would be more interesting is rerunning the benchmarks on an aged filesystem and compare how performance degrades with age.
 
 
#2 Gionatan Danti 2012-07-30 11:20
Hi NGRhodes,
sorry for the late reply.

You are correct about EXT4 extent size, but theoretically nothing prevents 2 extents to be placed one after the other. In fact, the filefrag utility checks if two extents are consecutively placed and, in this case, it does not report two different fragments, but only one.

Do you have any proposal about the aged filesystem? Any idea is welcomed ;)
 
 
#3 Jack Douglas 2012-10-14 21:15
Hi,

Thanks for the very helpful article. Would you be open to the suggestion of running the same tests with OCFS2 on a single node (it is the only fs other than btrfs with 'reflink' file snapshots that are very useful for backing up VMs)

Kind regards
Jack
 
 
#4 Boki 2016-04-21 12:59
Thanks for great article, and now, almost 4 years later, is there any new diff results or suggestions?
 

You have no rights to post comments