Linux 3.13 HDD File-System Comparison Tests by Michael Larabel for a future article on Phoronix.com using many different Linux file-systems from Ubuntu Linux. Using a Western Digital VelociRaptor 1000RPM WD1500HLHX HDD for testing.
HTML result view exported from: https://openbenchmarking.org/result/1312121-SO-LINUX313K97 .
Linux 3.13 HDD File-System Comparison Processor Motherboard Chipset Memory Disk Graphics Audio Network OS Kernel Desktop Display Server Display Driver OpenGL Compiler File-System Screen Resolution EXT3 EXT4 XFS Btrfs ReiserFS JFS NILFS2 NTFS Intel Core i7-4770K @ 4.40GHz (8 Cores) ECS Z87H3-A2X EXTREME v1.0 Intel 4th Gen Core DRAM 16384MB 150GB Western Digital WD1500HLHX-0 + 240GB OCZ VERTEX3 Intel HD 4600 (1250MHz) Intel Haswell HDMI Realtek RTL8111/8168/8411 Ubuntu 13.10 3.13.0-999-generic (x86_64) Unity 7.1.2 X Server 1.14.3 intel 2.99.906 3.3 Mesa 10.1.0-devel (git-5b331f6 saucy-oibaf-ppa) GCC 4.8 + LLVM 3.4 ext4 1920x1080 xfs btrfs reiserfs jfs nilfs fuseblk OpenBenchmarking.org Compiler Details - --build=x86_64-linux-gnu --disable-browser-plugin --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-gtk-cairo --enable-java-awt=gtk --enable-java-home --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-arch-directory=amd64 --with-multilib-list=m32,m64,mx32 --with-tune=generic -v Disk Details - EXT3: DEADLINE / acl,barrier=1,data=ordered,errors=continue,relatime,rw,user_xattr - EXT4: DEADLINE / data=ordered,relatime,rw - XFS: DEADLINE / attr2,inode64,noquota,relatime,rw - Btrfs: DEADLINE / relatime,rw,space_cache - ReiserFS: DEADLINE / relatime,rw - JFS: DEADLINE / relatime,rw - NILFS2: DEADLINE / relatime,rw - NTFS: DEADLINE / allow_other,blksize=4096,group_id=0,nodev,nosuid,relatime,rw,user_id=0 System Details - Disk Scheduler: DEADLINE. Python 2.7.5+.
Linux 3.13 HDD File-System Comparison aio-stress: Rand Write fs-mark: 1000 Files, 1MB Size fs-mark: 5000 Files, 1MB Size, 4 Threads fs-mark: 4000 Files, 32 Sub Dirs, 1MB Size iozone: 64Kb - 8GB - Write Performance tiobench: Write - 32MB - 4 tiobench: Write - 64MB - 4 tiobench: Rand Write - 32MB - 4 tiobench: Rand Write - 64MB - 4 compilebench: Initial Create postmark: Disk Transaction Performance EXT3 EXT4 XFS Btrfs ReiserFS JFS NILFS2 NTFS 29.83 40.67 28.50 74.49 0.46 0.49 1.00 1.03 203.60 1346 31.03 57.33 30.87 130.83 0.49 0.46 0.49 0.48 225.02 5436 37.03 53.47 35.83 124.10 0.40 0.42 0.51 0.51 199.94 5597 267.45 31.57 46.37 30.83 135.18 0.64 0.60 0.55 0.59 137.58 5211 28.23 47.90 26.30 97.90 0.46 0.46 2.47 2.16 44.84 1826 94.13 97.20 65.33 103.17 108.39 25.20 24.62 3.06 2.67 42.69 1194 107.30 67.47 70.50 47.67 100.74 1.18 1.17 1.15 1.14 75.11 563 6.97 20.92 17.33 20.43 127.47 82.79 88.27 8.50 5.70 53.02 400 OpenBenchmarking.org
AIO-Stress Test: Random Write OpenBenchmarking.org MB/s, More Is Better AIO-Stress 0.21 Test: Random Write Btrfs JFS NILFS2 NTFS 60 120 180 240 300 SE +/- 12.22, N = 6 SE +/- 8.22, N = 6 SE +/- 0.26, N = 3 SE +/- 0.18, N = 6 267.45 94.13 107.30 6.97 1. (CC) gcc options: -pthread -laio
FS-Mark Test: 1000 Files, 1MB Size OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 1000 Files, 1MB Size EXT3 EXT4 XFS Btrfs ReiserFS JFS NILFS2 NTFS 20 40 60 80 100 SE +/- 0.20, N = 3 SE +/- 0.07, N = 3 SE +/- 0.09, N = 3 SE +/- 0.48, N = 3 SE +/- 0.12, N = 3 SE +/- 1.00, N = 3 SE +/- 0.91, N = 3 SE +/- 0.36, N = 6 29.83 31.03 37.03 31.57 28.23 97.20 67.47 20.92 1. (CC) gcc options: -static
FS-Mark Test: 5000 Files, 1MB Size, 4 Threads OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 5000 Files, 1MB Size, 4 Threads EXT3 EXT4 XFS Btrfs ReiserFS JFS NILFS2 NTFS 16 32 48 64 80 SE +/- 0.80, N = 6 SE +/- 1.28, N = 6 SE +/- 0.13, N = 3 SE +/- 0.12, N = 3 SE +/- 0.21, N = 3 SE +/- 0.46, N = 3 SE +/- 1.27, N = 3 SE +/- 0.27, N = 6 40.67 57.33 53.47 46.37 47.90 65.33 70.50 17.33 1. (CC) gcc options: -static
FS-Mark Test: 4000 Files, 32 Sub Dirs, 1MB Size OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 4000 Files, 32 Sub Dirs, 1MB Size EXT3 EXT4 XFS Btrfs ReiserFS JFS NILFS2 NTFS 20 40 60 80 100 SE +/- 0.21, N = 3 SE +/- 0.56, N = 6 SE +/- 1.19, N = 6 SE +/- 0.39, N = 3 SE +/- 1.03, N = 6 SE +/- 1.36, N = 3 SE +/- 0.35, N = 3 SE +/- 0.29, N = 3 28.50 30.87 35.83 30.83 26.30 103.17 47.67 20.43 1. (CC) gcc options: -static
IOzone Record Size: 64Kb - File Size: 8GB - Disk Test: Write Performance OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 64Kb - File Size: 8GB - Disk Test: Write Performance EXT3 EXT4 XFS Btrfs ReiserFS JFS NILFS2 NTFS 30 60 90 120 150 SE +/- 0.21, N = 3 SE +/- 0.38, N = 3 SE +/- 0.23, N = 3 SE +/- 0.48, N = 3 SE +/- 0.72, N = 3 SE +/- 3.87, N = 6 SE +/- 1.82, N = 2 SE +/- 2.22, N = 3 74.49 130.83 124.10 135.18 97.90 108.39 100.74 127.47 1. (CC) gcc options: -O3
Threaded I/O Tester Test: Write - Size Per Thread: 32MB - Thread Count: 4 OpenBenchmarking.org MB/s, More Is Better Threaded I/O Tester 0.3.3 Test: Write - Size Per Thread: 32MB - Thread Count: 4 EXT3 EXT4 XFS Btrfs ReiserFS JFS NILFS2 NTFS 20 40 60 80 100 SE +/- 0.02, N = 6 SE +/- 0.00, N = 3 SE +/- 0.01, N = 3 SE +/- 0.01, N = 3 SE +/- 0.00, N = 3 SE +/- 0.32, N = 3 SE +/- 0.00, N = 3 SE +/- 1.49, N = 3 0.46 0.49 0.40 0.64 0.46 25.20 1.18 82.79
Threaded I/O Tester Test: Write - Size Per Thread: 64MB - Thread Count: 4 OpenBenchmarking.org MB/s, More Is Better Threaded I/O Tester 0.3.3 Test: Write - Size Per Thread: 64MB - Thread Count: 4 EXT3 EXT4 XFS Btrfs ReiserFS JFS NILFS2 NTFS 20 40 60 80 100 SE +/- 0.01, N = 3 SE +/- 0.02, N = 6 SE +/- 0.01, N = 3 SE +/- 0.01, N = 3 SE +/- 0.00, N = 3 SE +/- 0.05, N = 3 SE +/- 0.00, N = 3 SE +/- 0.16, N = 3 0.49 0.46 0.42 0.60 0.46 24.62 1.17 88.27
Threaded I/O Tester Test: Random Write - Size Per Thread: 32MB - Thread Count: 4 OpenBenchmarking.org MB/s, More Is Better Threaded I/O Tester 0.3.3 Test: Random Write - Size Per Thread: 32MB - Thread Count: 4 EXT3 EXT4 XFS Btrfs ReiserFS JFS NILFS2 NTFS 2 4 6 8 10 SE +/- 0.01, N = 3 SE +/- 0.00, N = 3 SE +/- 0.01, N = 6 SE +/- 0.00, N = 3 SE +/- 0.03, N = 3 SE +/- 0.05, N = 3 SE +/- 0.00, N = 3 SE +/- 0.30, N = 6 1.00 0.49 0.51 0.55 2.47 3.06 1.15 8.50
Threaded I/O Tester Test: Random Write - Size Per Thread: 64MB - Thread Count: 4 OpenBenchmarking.org MB/s, More Is Better Threaded I/O Tester 0.3.3 Test: Random Write - Size Per Thread: 64MB - Thread Count: 4 EXT3 EXT4 XFS Btrfs ReiserFS JFS NILFS2 NTFS 1.2825 2.565 3.8475 5.13 6.4125 SE +/- 0.05, N = 6 SE +/- 0.00, N = 3 SE +/- 0.01, N = 3 SE +/- 0.01, N = 5 SE +/- 0.20, N = 6 SE +/- 0.04, N = 3 SE +/- 0.00, N = 3 SE +/- 0.09, N = 3 1.03 0.48 0.51 0.59 2.16 2.67 1.14 5.70
Compile Bench Test: Initial Create OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Initial Create EXT3 EXT4 XFS Btrfs ReiserFS JFS NILFS2 NTFS 50 100 150 200 250 SE +/- 22.08, N = 3 SE +/- 2.56, N = 3 SE +/- 10.18, N = 3 SE +/- 5.25, N = 3 SE +/- 2.48, N = 3 SE +/- 0.98, N = 3 SE +/- 0.59, N = 3 SE +/- 2.35, N = 3 203.60 225.02 199.94 137.58 44.84 42.69 75.11 53.02
PostMark Disk Transaction Performance OpenBenchmarking.org TPS, More Is Better PostMark 1.51 Disk Transaction Performance EXT3 EXT4 XFS Btrfs ReiserFS JFS NILFS2 NTFS 1200 2400 3600 4800 6000 SE +/- 13.65, N = 3 SE +/- 68.13, N = 3 SE +/- 42.00, N = 3 SE +/- 251.19, N = 6 SE +/- 28.36, N = 5 SE +/- 5.04, N = 3 SE +/- 3.38, N = 3 1346 5436 5597 5211 1826 1194 563 400 1. (CC) gcc options: -O3
Phoronix Test Suite v10.8.4