All filesystems were tested on the same partition with offset 1MiB and size 4GiB, mounted with noatime and discard, except tmpfs. The two btrfs tests additionally tries out autodefrag vs nodatacow, in an attempt to isolate the impact of copy-on-write. I really had hoped to run the sqlite benchmark too, but PTS said it failed to produce a result. More overwhelming than these results, is a real sqlite workload I have that takes tens of minutes on a rotating hdd (and slows down the machine) or a split second on tmpfs.
Compare your own system(s) to this result file with the
Phoronix Test Suite by running the command:
phoronix-test-suite benchmark 1509205-BE-CHEAPOKIN94 FS transaction performance comparison, cheapo Kingston 120GB SSD - Phoronix Test Suite FS transaction performance comparison, cheapo Kingston 120GB SSD All filesystems were tested on the same partition with offset 1MiB and size 4GiB, mounted with noatime and discard, except tmpfs. The two btrfs tests additionally tries out autodefrag vs nodatacow, in an attempt to isolate the impact of copy-on-write. I really had hoped to run the sqlite benchmark too, but PTS said it failed to produce a result. More overwhelming than these results, is a real sqlite workload I have that takes tens of minutes on a rotating hdd (and slows down the machine) or a split second on tmpfs.
HTML result view exported from: https://openbenchmarking.org/result/1509205-BE-CHEAPOKIN94&gru&rdt .
FS transaction performance comparison, cheapo Kingston 120GB SSD Processor Motherboard Chipset Memory Disk Graphics Audio Monitor Network OS Kernel Desktop Display Server Display Driver OpenGL File-System Screen Resolution tmpfs f2fs xfs ext4 btrfs autodefrag btrfs nodatacow AMD A6-3670 APU @ 2.70GHz (4 Cores) ASUS F1A75-V PRO AMD Family 12h Root Complex 8192MB 120GB KINGSTON SV300S3 + 3001GB Western Digital WD30EFRX-68E + 128GB Crucial_CT128MX1 + 80GB Western Digital WD800BB-00FJ + 160GB Western Digital WD1600JB-00G AMD Radeon HD 6530D 512MB AMD BeaverCreek HDMI Audio COMPAQ 1825 Realtek RTL8111/8168/8411 openSUSE 20150909 4.1.6-3-desktop (x86_64) KDE Frameworks 5 X Server 1.17.2 radeon 7.5.0 3.3 Mesa 10.6.5 Gallium 0.4 tmpfs 1280x1024 f2fs xfs ext4 btrfs OpenBenchmarking.org Compiler Details - --build=x86_64-suse-linux --disable-libgcj --disable-libssp --disable-libstdcxx-pch --disable-libvtv --disable-plugin --enable-__cxa_atexit --enable-checking=release --enable-languages=c,c++,objc,fortran,obj-c++,java,ada,go --enable-libmpx --enable-libstdcxx-allocator=new --enable-linux-futex --enable-multilib --enable-ssp --enable-version-specific-runtime-libs --host=x86_64-suse-linux --mandir=/usr/share/man --with-arch-32=i586 --with-slibdir=/lib64 --with-tune=generic --without-system-libunwind Processor Details - Scaling Governor: acpi-cpufreq ondemand System Details - Disk Scheduler: DEADLINE. Disk Scheduler Details - tmpfs: DEADLINE Disk Details - f2fs: DEADLINE / acl,active_logs=6,background_gc=on,discard,inline_data,noatime,rw,user_xattr - xfs: DEADLINE / attr2,discard,inode64,noatime,noquota,rw - ext4: DEADLINE / data=ordered,discard,noatime,rw - btrfs autodefrag: DEADLINE / autodefrag,discard,noatime,rw,space_cache,ssd - btrfs nodatacow: DEADLINE / discard,noatime,nodatacow,nodatasum,rw,space_cache,ssd
FS transaction performance comparison, cheapo Kingston 120GB SSD iozone: 4Kb - 512MB - Read Performance iozone: 4Kb - 512MB - Write Performance postmark: Disk Transaction Performance pgbench: On-Disk - Single Thread - Read Write tmpfs f2fs xfs ext4 btrfs autodefrag btrfs nodatacow 3020.86 1860.07 3750 215.50 3098.21 343.61 2798 195.92 2941.04 285.54 2435 185.26 3060.14 337.85 2517 196.35 3138.02 362.02 444 167.38 2994.46 363.68 623 184.91 OpenBenchmarking.org
IOzone Record Size: 4Kb - File Size: 512MB - Disk Test: Read Performance OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 4Kb - File Size: 512MB - Disk Test: Read Performance tmpfs f2fs xfs ext4 btrfs autodefrag btrfs nodatacow 700 1400 2100 2800 3500 SE +/- 7.18, N = 3 SE +/- 25.67, N = 3 SE +/- 29.18, N = 3 SE +/- 24.45, N = 3 SE +/- 7.82, N = 3 SE +/- 8.67, N = 3 3020.86 3098.21 2941.04 3060.14 3138.02 2994.46 1. (CC) gcc options: -O3
IOzone Record Size: 4Kb - File Size: 512MB - Disk Test: Write Performance OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 4Kb - File Size: 512MB - Disk Test: Write Performance tmpfs f2fs xfs ext4 btrfs autodefrag btrfs nodatacow 400 800 1200 1600 2000 SE +/- 8.92, N = 3 SE +/- 0.45, N = 3 SE +/- 0.66, N = 3 SE +/- 0.71, N = 3 SE +/- 0.44, N = 3 SE +/- 0.25, N = 3 1860.07 343.61 285.54 337.85 362.02 363.68 1. (CC) gcc options: -O3
PostMark Disk Transaction Performance OpenBenchmarking.org TPS, More Is Better PostMark 1.51 Disk Transaction Performance tmpfs f2fs xfs ext4 btrfs autodefrag btrfs nodatacow 800 1600 2400 3200 4000 SE +/- 18.67, N = 3 SE +/- 10.33, N = 3 SE +/- 7.67, N = 3 SE +/- 22.30, N = 3 SE +/- 19.81, N = 6 SE +/- 110.92, N = 6 3750 2798 2435 2517 444 623 1. (CC) gcc options: -O3
PostgreSQL pgbench Scaling: On-Disk - Test: Single Thread - Mode: Read Write OpenBenchmarking.org TPS, More Is Better PostgreSQL pgbench 9.4.3 Scaling: On-Disk - Test: Single Thread - Mode: Read Write tmpfs f2fs xfs ext4 btrfs autodefrag btrfs nodatacow 50 100 150 200 250 SE +/- 0.10, N = 3 SE +/- 1.01, N = 3 SE +/- 1.66, N = 3 SE +/- 0.83, N = 3 SE +/- 0.69, N = 2 SE +/- 0.21, N = 3 215.50 195.92 185.26 196.35 167.38 184.91 1. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -pthread -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm
Phoronix Test Suite v10.8.4