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/1509207-BE-CHEAPOKIN75&grr&sor.

FS transaction performance comparison, cheapo Kingston 120GB SSDProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLFile-SystemScreen Resolutiontmpfsf2fsxfsext4btrfs autodefragbtrfs nodatacowAMD A6-3670 APU @ 2.70GHz (4 Cores)ASUS F1A75-V PROAMD Family 12h Root Complex8192MB120GB KINGSTON SV300S3 + 3001GB Western Digital WD30EFRX-68E + 128GB Crucial_CT128MX1 + 80GB Western Digital WD800BB-00FJ + 160GB Western Digital WD1600JB-00GAMD Radeon HD 6530D 512MBAMD BeaverCreek HDMI AudioCOMPAQ 1825Realtek RTL8111/8168/8411openSUSE 201509094.1.6-3-desktop (x86_64)KDE Frameworks 5X Server 1.17.2radeon 7.5.03.3 Mesa 10.6.5 Gallium 0.4tmpfs1280x1024f2fsxfsext4btrfsOpenBenchmarking.orgCompiler 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 ondemandSystem Details- Disk Scheduler: DEADLINE.Disk Scheduler Details- tmpfs: DEADLINEDisk 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 SSDpgbench: On-Disk - Single Thread - Read Writepostmark: Disk Transaction Performanceiozone: 4Kb - 512MB - Write Performanceiozone: 4Kb - 512MB - Read Performancetmpfsf2fsxfsext4btrfs autodefragbtrfs nodatacow215.5037501860.073020.86195.922798343.613098.21185.262435285.542941.04196.352517337.853060.14167.38444362.023138.02184.91623363.682994.46OpenBenchmarking.org

PostgreSQL pgbench

Scaling: On-Disk - Test: Single Thread - Mode: Read Write

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 9.4.3Scaling: On-Disk - Test: Single Thread - Mode: Read Writetmpfsext4f2fsxfsbtrfs nodatacowbtrfs autodefrag50100150200250SE +/- 0.10, N = 3SE +/- 0.83, N = 3SE +/- 1.01, N = 3SE +/- 1.66, N = 3SE +/- 0.21, N = 3SE +/- 0.69, N = 2215.50196.35195.92185.26184.91167.381. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -pthread -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

PostMark

Disk Transaction Performance

OpenBenchmarking.orgTPS, More Is BetterPostMark 1.51Disk Transaction Performancetmpfsf2fsext4xfsbtrfs nodatacowbtrfs autodefrag8001600240032004000SE +/- 18.67, N = 3SE +/- 10.33, N = 3SE +/- 22.30, N = 3SE +/- 7.67, N = 3SE +/- 110.92, N = 6SE +/- 19.81, N = 637502798251724356234441. (CC) gcc options: -O3

IOzone

Record Size: 4Kb - File Size: 512MB - Disk Test: Write Performance

OpenBenchmarking.orgMB/s, More Is BetterIOzone 3.405Record Size: 4Kb - File Size: 512MB - Disk Test: Write Performancetmpfsbtrfs nodatacowbtrfs autodefragf2fsext4xfs400800120016002000SE +/- 8.92, N = 3SE +/- 0.25, N = 3SE +/- 0.44, N = 3SE +/- 0.45, N = 3SE +/- 0.71, N = 3SE +/- 0.66, N = 31860.07363.68362.02343.61337.85285.541. (CC) gcc options: -O3

IOzone

Record Size: 4Kb - File Size: 512MB - Disk Test: Read Performance

OpenBenchmarking.orgMB/s, More Is BetterIOzone 3.405Record Size: 4Kb - File Size: 512MB - Disk Test: Read Performancebtrfs autodefragf2fsext4tmpfsbtrfs nodatacowxfs7001400210028003500SE +/- 7.82, N = 3SE +/- 25.67, N = 3SE +/- 24.45, N = 3SE +/- 7.18, N = 3SE +/- 8.67, N = 3SE +/- 29.18, N = 33138.023098.213060.143020.862994.462941.041. (CC) gcc options: -O3


Phoronix Test Suite v10.8.4