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.
tmpfs
Processor: AMD A6-3670 APU @ 2.70GHz (4 Cores), Motherboard: ASUS F1A75-V PRO, Chipset: AMD Family 12h Root Complex, Memory: 8192MB, Disk: 120GB KINGSTON SV300S3 + 3001GB Western Digital WD30EFRX-68E + 128GB Crucial_CT128MX1 + 80GB Western Digital WD800BB-00FJ + 160GB Western Digital WD1600JB-00G, Graphics: AMD Radeon HD 6530D 512MB, Audio: AMD BeaverCreek HDMI Audio, Monitor: COMPAQ 1825, Network: Realtek RTL8111/8168/8411
OS: openSUSE 20150909, Kernel: 4.1.6-3-desktop (x86_64), Desktop: KDE Frameworks 5, Display Server: X Server 1.17.2, Display Driver: radeon 7.5.0, OpenGL: 3.3 Mesa 10.6.5 Gallium 0.4, File-System: tmpfs, Screen Resolution: 1280x1024
Compiler Notes: --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 Notes: Scaling Governor: acpi-cpufreq ondemand
System Notes: Disk Scheduler: DEADLINE.
Disk Scheduler Notes: DEADLINE
f2fs
OS: openSUSE 20150909, Kernel: 4.1.6-3-desktop (x86_64), Desktop: KDE Frameworks 5, Display Server: X Server 1.17.2, Display Driver: radeon 7.5.0, OpenGL: 3.3 Mesa 10.6.5 Gallium 0.4, File-System: f2fs, Screen Resolution: 1280x1024
Compiler Notes: --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
Disk Notes: DEADLINE / acl,active_logs=6,background_gc=on,discard,inline_data,noatime,rw,user_xattr
Processor Notes: Scaling Governor: acpi-cpufreq ondemand
System Notes: Disk Scheduler: DEADLINE.
xfs
OS: openSUSE 20150909, Kernel: 4.1.6-3-desktop (x86_64), Desktop: KDE Frameworks 5, Display Server: X Server 1.17.2, Display Driver: radeon 7.5.0, OpenGL: 3.3 Mesa 10.6.5 Gallium 0.4, File-System: xfs, Screen Resolution: 1280x1024
Compiler Notes: --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
Disk Notes: DEADLINE / attr2,discard,inode64,noatime,noquota,rw
Processor Notes: Scaling Governor: acpi-cpufreq ondemand
System Notes: Disk Scheduler: DEADLINE.
ext4
OS: openSUSE 20150909, Kernel: 4.1.6-3-desktop (x86_64), Desktop: KDE Frameworks 5, Display Server: X Server 1.17.2, Display Driver: radeon 7.5.0, OpenGL: 3.3 Mesa 10.6.5 Gallium 0.4, File-System: ext4, Screen Resolution: 1280x1024
Compiler Notes: --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
Disk Notes: DEADLINE / data=ordered,discard,noatime,rw
Processor Notes: Scaling Governor: acpi-cpufreq ondemand
System Notes: Disk Scheduler: DEADLINE.
btrfs autodefrag
Compiler Notes: --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
Disk Notes: DEADLINE / autodefrag,discard,noatime,rw,space_cache,ssd
Processor Notes: Scaling Governor: acpi-cpufreq ondemand
System Notes: Disk Scheduler: DEADLINE.
btrfs nodatacow
OS: openSUSE 20150909, Kernel: 4.1.6-3-desktop (x86_64), Desktop: KDE Frameworks 5, Display Server: X Server 1.17.2, Display Driver: radeon 7.5.0, OpenGL: 3.3 Mesa 10.6.5 Gallium 0.4, File-System: btrfs, Screen Resolution: 1280x1024
Compiler Notes: --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
Disk Notes: DEADLINE / discard,noatime,nodatacow,nodatasum,rw,space_cache,ssd
Processor Notes: Scaling Governor: acpi-cpufreq ondemand
System Notes: Disk Scheduler: DEADLINE.
kk
Processor: Intel Core i7 740Q @ 1.73GHz (8 Cores), Motherboard: ASUS K52JT v1.0, Chipset: Intel Core DMI, Memory: 8192MB, Disk: 500GB Western Digital WD5000BEVT-8, Graphics: ASUS AMD Radeon HD 6370M/7370M 1024MB, Audio: Conexant CX20585, Network: JMicron JMC250 PCI Gigabit + Qualcomm Atheros AR9285 Wireless
OS: Arch rolling, Kernel: 4.4.5-1-zen (x86_64), Desktop: GNOME Shell 3.18.4, OpenGL: 3.3 Mesa 11.3.0-devel (git-7a2333e) Gallium 0.4, Compiler: GCC 5.3.0 + Clang 3.9.0 (SVN 263445) + LLVM 3.9.0svn, File-System: btrfs, Screen Resolution: 1366x768
Kernel Notes: libahci.ignore_sss=1
Disk Notes: BFQ / autodefrag,compress-force=lzo,relatime,rw,space_cache,subvol=/,subvolid=5
Processor Notes: Scaling Governor: acpi-cpufreq performance
IOzone
The IOzone benchmark tests the hard disk drive / file-system performance. Learn more via the OpenBenchmarking.org test page.
PostMark
This is a test of NetApp's PostMark benchmark designed to simulate small-file testing similar to the tasks endured by web and mail servers. This test profile will set PostMark to perform 25,000 transactions with 500 files simultaneously with the file sizes ranging between 5 and 512 kilobytes. Learn more via the OpenBenchmarking.org test page.
PostgreSQL pgbench
tmpfs
Processor: AMD A6-3670 APU @ 2.70GHz (4 Cores), Motherboard: ASUS F1A75-V PRO, Chipset: AMD Family 12h Root Complex, Memory: 8192MB, Disk: 120GB KINGSTON SV300S3 + 3001GB Western Digital WD30EFRX-68E + 128GB Crucial_CT128MX1 + 80GB Western Digital WD800BB-00FJ + 160GB Western Digital WD1600JB-00G, Graphics: AMD Radeon HD 6530D 512MB, Audio: AMD BeaverCreek HDMI Audio, Monitor: COMPAQ 1825, Network: Realtek RTL8111/8168/8411
OS: openSUSE 20150909, Kernel: 4.1.6-3-desktop (x86_64), Desktop: KDE Frameworks 5, Display Server: X Server 1.17.2, Display Driver: radeon 7.5.0, OpenGL: 3.3 Mesa 10.6.5 Gallium 0.4, File-System: tmpfs, Screen Resolution: 1280x1024
Compiler Notes: --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 Notes: Scaling Governor: acpi-cpufreq ondemand
System Notes: Disk Scheduler: DEADLINE.
Disk Scheduler Notes: DEADLINE
Testing initiated at 20 September 2015 11:22 by user .
f2fs
Processor: AMD A6-3670 APU @ 2.70GHz (4 Cores), Motherboard: ASUS F1A75-V PRO, Chipset: AMD Family 12h Root Complex, Memory: 8192MB, Disk: 120GB KINGSTON SV300S3 + 3001GB Western Digital WD30EFRX-68E + 128GB Crucial_CT128MX1 + 80GB Western Digital WD800BB-00FJ + 160GB Western Digital WD1600JB-00G, Graphics: AMD Radeon HD 6530D 512MB, Audio: AMD BeaverCreek HDMI Audio, Monitor: COMPAQ 1825, Network: Realtek RTL8111/8168/8411
OS: openSUSE 20150909, Kernel: 4.1.6-3-desktop (x86_64), Desktop: KDE Frameworks 5, Display Server: X Server 1.17.2, Display Driver: radeon 7.5.0, OpenGL: 3.3 Mesa 10.6.5 Gallium 0.4, File-System: f2fs, Screen Resolution: 1280x1024
Compiler Notes: --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
Disk Notes: DEADLINE / acl,active_logs=6,background_gc=on,discard,inline_data,noatime,rw,user_xattr
Processor Notes: Scaling Governor: acpi-cpufreq ondemand
System Notes: Disk Scheduler: DEADLINE.
Testing initiated at 20 September 2015 14:34 by user .
xfs
Processor: AMD A6-3670 APU @ 2.70GHz (4 Cores), Motherboard: ASUS F1A75-V PRO, Chipset: AMD Family 12h Root Complex, Memory: 8192MB, Disk: 120GB KINGSTON SV300S3 + 3001GB Western Digital WD30EFRX-68E + 128GB Crucial_CT128MX1 + 80GB Western Digital WD800BB-00FJ + 160GB Western Digital WD1600JB-00G, Graphics: AMD Radeon HD 6530D 512MB, Audio: AMD BeaverCreek HDMI Audio, Monitor: COMPAQ 1825, Network: Realtek RTL8111/8168/8411
OS: openSUSE 20150909, Kernel: 4.1.6-3-desktop (x86_64), Desktop: KDE Frameworks 5, Display Server: X Server 1.17.2, Display Driver: radeon 7.5.0, OpenGL: 3.3 Mesa 10.6.5 Gallium 0.4, File-System: xfs, Screen Resolution: 1280x1024
Compiler Notes: --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
Disk Notes: DEADLINE / attr2,discard,inode64,noatime,noquota,rw
Processor Notes: Scaling Governor: acpi-cpufreq ondemand
System Notes: Disk Scheduler: DEADLINE.
Testing initiated at 20 September 2015 14:59 by user .
ext4
Processor: AMD A6-3670 APU @ 2.70GHz (4 Cores), Motherboard: ASUS F1A75-V PRO, Chipset: AMD Family 12h Root Complex, Memory: 8192MB, Disk: 120GB KINGSTON SV300S3 + 3001GB Western Digital WD30EFRX-68E + 128GB Crucial_CT128MX1 + 80GB Western Digital WD800BB-00FJ + 160GB Western Digital WD1600JB-00G, Graphics: AMD Radeon HD 6530D 512MB, Audio: AMD BeaverCreek HDMI Audio, Monitor: COMPAQ 1825, Network: Realtek RTL8111/8168/8411
OS: openSUSE 20150909, Kernel: 4.1.6-3-desktop (x86_64), Desktop: KDE Frameworks 5, Display Server: X Server 1.17.2, Display Driver: radeon 7.5.0, OpenGL: 3.3 Mesa 10.6.5 Gallium 0.4, File-System: ext4, Screen Resolution: 1280x1024
Compiler Notes: --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
Disk Notes: DEADLINE / data=ordered,discard,noatime,rw
Processor Notes: Scaling Governor: acpi-cpufreq ondemand
System Notes: Disk Scheduler: DEADLINE.
Testing initiated at 20 September 2015 15:51 by user .
btrfs autodefrag
Compiler Notes: --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
Disk Notes: DEADLINE / autodefrag,discard,noatime,rw,space_cache,ssd
Processor Notes: Scaling Governor: acpi-cpufreq ondemand
System Notes: Disk Scheduler: DEADLINE.
Testing initiated at 20 September 2015 16:43 by user .
btrfs nodatacow
Processor: AMD A6-3670 APU @ 2.70GHz (4 Cores), Motherboard: ASUS F1A75-V PRO, Chipset: AMD Family 12h Root Complex, Memory: 8192MB, Disk: 120GB KINGSTON SV300S3 + 3001GB Western Digital WD30EFRX-68E + 128GB Crucial_CT128MX1 + 80GB Western Digital WD800BB-00FJ + 160GB Western Digital WD1600JB-00G, Graphics: AMD Radeon HD 6530D 512MB, Audio: AMD BeaverCreek HDMI Audio, Monitor: COMPAQ 1825, Network: Realtek RTL8111/8168/8411
OS: openSUSE 20150909, Kernel: 4.1.6-3-desktop (x86_64), Desktop: KDE Frameworks 5, Display Server: X Server 1.17.2, Display Driver: radeon 7.5.0, OpenGL: 3.3 Mesa 10.6.5 Gallium 0.4, File-System: btrfs, Screen Resolution: 1280x1024
Compiler Notes: --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
Disk Notes: DEADLINE / discard,noatime,nodatacow,nodatasum,rw,space_cache,ssd
Processor Notes: Scaling Governor: acpi-cpufreq ondemand
System Notes: Disk Scheduler: DEADLINE.
Testing initiated at 20 September 2015 18:44 by user .
kk
Processor: Intel Core i7 740Q @ 1.73GHz (8 Cores), Motherboard: ASUS K52JT v1.0, Chipset: Intel Core DMI, Memory: 8192MB, Disk: 500GB Western Digital WD5000BEVT-8, Graphics: ASUS AMD Radeon HD 6370M/7370M 1024MB, Audio: Conexant CX20585, Network: JMicron JMC250 PCI Gigabit + Qualcomm Atheros AR9285 Wireless
OS: Arch rolling, Kernel: 4.4.5-1-zen (x86_64), Desktop: GNOME Shell 3.18.4, OpenGL: 3.3 Mesa 11.3.0-devel (git-7a2333e) Gallium 0.4, Compiler: GCC 5.3.0 + Clang 3.9.0 (SVN 263445) + LLVM 3.9.0svn, File-System: btrfs, Screen Resolution: 1366x768
Kernel Notes: libahci.ignore_sss=1
Disk Notes: BFQ / autodefrag,compress-force=lzo,relatime,rw,space_cache,subvol=/,subvolid=5
Processor Notes: Scaling Governor: acpi-cpufreq performance
Testing initiated at 15 March 2016 05:15 by user felix.