XFS, EXT4, Btrfs, and NILFS2 benchmarking by Michael Larabel for a future article on Phoronix.com.
Compare your own system(s) to this result file with the
Phoronix Test Suite by running the command:
phoronix-test-suite benchmark 1608243-LO-HDDDISKTE91 HDD EXT4 XFS Btrfs Disk Testing Linux 4.8 - Phoronix Test Suite HDD EXT4 XFS Btrfs Disk Testing Linux 4.8 XFS, EXT4, Btrfs, and NILFS2 benchmarking by Michael Larabel for a future article on Phoronix.com.
HTML result view exported from: https://openbenchmarking.org/result/1608243-LO-HDDDISKTE91&gru&sor .
HDD EXT4 XFS Btrfs Disk Testing Linux 4.8 Processor Motherboard Chipset Memory Disk Graphics Audio Monitor Network OS Kernel Desktop Display Server Display Driver OpenGL Compiler File-System Screen Resolution Btrfs EXT4 XFS NILFS2 Intel Xeon E3-1280 v5 @ 4.00GHz (8 Cores) MSI C236A WORKSTATION (MS-7998) v1.0 Intel Sky Lake 16384MB 2000GB Hitachi HUA72302 + Samsung SSD 950 PRO 256GB NVIDIA GeForce GTX 980 Ti 6144MB Realtek ALC1150 Acer B286HK Intel Connection Ubuntu 16.04 4.8.0-999-generic (x86_64) 20160818 Unity 7.4.0 X Server 1.18.3 nouveau 1.0.12 4.1 Mesa 12.1.0-devel- padoka PPA Gallium 0.4 GCC 5.4.0 20160609 btrfs 3840x2160 ext4 xfs nilfs OpenBenchmarking.org Compiler Details - --build=x86_64-linux-gnu --disable-browser-plugin --disable-vtable-verify --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,ada,c++,java,go,d,fortran,objc,obj-c++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --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-default-libstdcxx-abi=new --with-multilib-list=m32,m64,mx32 --with-tune=generic -v Disk Details - Btrfs: CFQ / relatime,rw,space_cache,subvol=/,subvolid=5 - EXT4: CFQ / data=ordered,relatime,rw - XFS: CFQ / attr2,inode64,noquota,relatime,rw - NILFS2: CFQ / relatime,rw Processor Details - Scaling Governor: intel_pstate powersave System Details - Python 2.7.12.
HDD EXT4 XFS Btrfs Disk Testing Linux 4.8 fs-mark: 1000 Files, 1MB Size fs-mark: 5000 Files, 1MB Size, 4 Threads fio: Rand Read - Libaio - No - Yes - 4KB - Default Test Directory - MB/s fio: Seq Read - Libaio - No - Yes - 4KB - Default Test Directory - MB/s fio: Seq Write - Libaio - No - Yes - 4KB - Default Test Directory - MB/s compilebench: Initial Create postmark: Disk Transaction Performance pgbench: On-Disk - Normal Load - Read Write sqlite: Default Test Directory Btrfs EXT4 XFS NILFS2 26.37 44.67 1.79 1.84 62.51 350.01 7286 92.82 849.78 17.17 37.73 1.77 72.58 71.97 452.58 7352 118.67 558.75 37.03 46.40 1.81 104.85 77.36 388.90 6049 98.38 269.80 42.00 59.60 1.90 2.26 27.91 74.95 593 79.21 193.60 OpenBenchmarking.org
FS-Mark Test: 1000 Files, 1MB Size OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 1000 Files, 1MB Size NILFS2 XFS Btrfs EXT4 10 20 30 40 50 SE +/- 0.10, N = 3 SE +/- 0.23, N = 3 SE +/- 0.18, N = 3 SE +/- 0.03, N = 3 42.00 37.03 26.37 17.17 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 NILFS2 XFS Btrfs EXT4 13 26 39 52 65 SE +/- 0.23, N = 3 SE +/- 0.00, N = 3 SE +/- 0.19, N = 3 SE +/- 0.71, N = 3 59.60 46.40 44.67 37.73 1. (CC) gcc options: -static
Flexible IO Tester Type: Random Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory - Result: MB/s OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 2.1.13 Type: Random Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory - Result: MB/s NILFS2 XFS Btrfs EXT4 0.4275 0.855 1.2825 1.71 2.1375 SE +/- 0.00, N = 3 SE +/- 0.01, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 1.90 1.81 1.79 1.77 1. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl
Flexible IO Tester Type: Sequential Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory - Result: MB/s OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 2.1.13 Type: Sequential Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory - Result: MB/s XFS EXT4 NILFS2 Btrfs 20 40 60 80 100 SE +/- 0.10, N = 3 SE +/- 0.07, N = 3 SE +/- 0.01, N = 3 SE +/- 0.00, N = 3 104.85 72.58 2.26 1.84 1. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl
Flexible IO Tester Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory - Result: MB/s OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 2.1.13 Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory - Result: MB/s XFS EXT4 Btrfs NILFS2 20 40 60 80 100 SE +/- 0.04, N = 3 SE +/- 0.42, N = 3 SE +/- 4.54, N = 6 SE +/- 1.27, N = 6 77.36 71.97 62.51 27.91 1. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl
Compile Bench Test: Initial Create OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Initial Create EXT4 XFS Btrfs NILFS2 100 200 300 400 500 SE +/- 7.76, N = 4 SE +/- 2.26, N = 3 SE +/- 4.62, N = 6 SE +/- 0.41, N = 3 452.58 388.90 350.01 74.95
PostMark Disk Transaction Performance OpenBenchmarking.org TPS, More Is Better PostMark 1.51 Disk Transaction Performance EXT4 Btrfs XFS NILFS2 1600 3200 4800 6400 8000 SE +/- 0.00, N = 3 SE +/- 144.33, N = 3 SE +/- 48.33, N = 3 SE +/- 1.00, N = 3 7352 7286 6049 593 1. (CC) gcc options: -O3
PostgreSQL pgbench Scaling: On-Disk - Test: Normal Load - Mode: Read Write OpenBenchmarking.org TPS, More Is Better PostgreSQL pgbench 9.4.3 Scaling: On-Disk - Test: Normal Load - Mode: Read Write EXT4 XFS Btrfs NILFS2 30 60 90 120 150 SE +/- 2.35, N = 3 118.67 98.38 92.82 79.21 1. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -pthread -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm
SQLite Test Target: Default Test Directory OpenBenchmarking.org Seconds, Fewer Is Better SQLite 3.8.10.2 Test Target: Default Test Directory NILFS2 XFS EXT4 Btrfs 200 400 600 800 1000 SE +/- 0.19, N = 3 SE +/- 5.25, N = 3 SE +/- 4.27, N = 3 SE +/- 10.16, N = 3 193.60 269.80 558.75 849.78 1. (CC) gcc options: -O2 -ldl -lpthread
Phoronix Test Suite v10.8.4