QEMU/KVM - openSUSE Tumbleweed KDE - EXT4 VS BTRFS KVM testing on openSUSE Tumbleweed KDE 20241208 via the Phoronix Test Suite. Testing the performance of the different filesystems BTRFS and EXT4. Note, BTRFS is configured without encryption nor compression. Both systems have a single root partition and no separate partitions (e.g. home). Both VMs have the same minimal KDE setup, as well as OpenGL, 3Daccelaration, and CPU-passthrough enabled. The VM manager used was Virtual Manager (virt-man).
HTML result view exported from: https://openbenchmarking.org/result/2412105-TSUK-241209420&sro&grr .
QEMU/KVM - openSUSE Tumbleweed KDE - EXT4 VS BTRFS Processor Motherboard Chipset Memory Disk Graphics Audio Monitor Network OS Kernel Desktop Display Server OpenGL Compiler File-System Screen Resolution System Layer EXT4 BTRFS Intel Core i7-12700H (15 Cores) QEMU Standard PC (Q35 + ICH9 2009) (2024.02-2 BIOS) Intel 82G33/G31/P35/P31 + ICH9 6GB 29GB llvmpipe QEMU Generic QEMU Monitor Red Hat Virtio 1.0 device openSUSE Tumbleweed 20241206 6.11.8-1-default (x86_64) KDE Plasma 6.2.4 X Server 1.21.1.14 + Wayland 4.5 Mesa 24.3.1 (LLVM 19.1.4 256 bits) GCC 14.2.1 20241007 [revision 4af44f2cf7d281f3e4f3957efce10e8b2ccb2ad3] ext4 1920x931 KVM 28GB virgl Intel Iris Xe ADL GT2 openSUSE Tumbleweed 20241208 X Server 1.21.1.14 4.3 Mesa 24.3.1 btrfs 1920x888 OpenBenchmarking.org Kernel Details - Transparent Huge Pages: always Compiler Details - --build=x86_64-suse-linux --disable-libcc1 --disable-libssp --disable-libstdcxx-pch --disable-libvtv --disable-werror --enable-cet=auto --enable-checking=release --enable-gnu-indirect-function --enable-host-shared --enable-languages=c,c++,objc,fortran,obj-c++,ada,go,d,jit,rust,m2 --enable-libphobos --enable-libstdcxx-allocator=new --enable-link-serialization --enable-linux-futex --enable-multilib --enable-offload-defaulted --enable-offload-targets=nvptx-none,amdgcn-amdhsa, --enable-plugin --enable-ssp --enable-version-specific-runtime-libs --host=x86_64-suse-linux --mandir=/usr/share/man --with-arch-32=x86-64 --with-build-config=bootstrap-lto-lean --with-gcc-major-version-only --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-slibdir=/lib64 --with-tune=generic --without-cuda-driver --without-system-libunwind -O2 -O2 -O2 -O2 -O2 -Werror=return-type -Werror=return-type -Werror=return-type -Werror=return-type -fasynchronous-unwind-tables -fasynchronous-unwind-tables -fasynchronous-unwind-tables -fasynchronous-unwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -fstack-clash-protection -fstack-clash-protection -fstack-clash-protection -fstack-clash-protection -funwind-tables -funwind-tables -funwind-tables -funwind-tables -funwind-tables -g' -g' -g' -g' -g' Disk Details - EXT4: NONE / relatime,rw / Block Size: 4096 - BTRFS: NONE / discard=async,relatime,rw,space_cache=v2,subvol=/@/home,subvolid=262 / Block Size: 4096 Processor Details - CPU Microcode: 0x434 Python Details - EXT4: Python 3.11.11 Security Details - gather_data_sampling: Not affected + itlb_multihit: Not affected + l1tf: Not affected + mds: Not affected + meltdown: Not affected + mmio_stale_data: Not affected + reg_file_data_sampling: Vulnerable: No microcode + retbleed: Not affected + spec_rstack_overflow: Not affected + spec_store_bypass: Mitigation of SSB disabled via prctl + spectre_v1: Mitigation of usercopy/swapgs barriers and __user pointer sanitization + spectre_v2: Mitigation of Enhanced / Automatic IBRS; IBPB: conditional; RSB filling; PBRSB-eIBRS: SW sequence; BHI: SW loop KVM: SW loop + srbds: Not affected + tsx_async_abort: Not affected
QEMU/KVM - openSUSE Tumbleweed KDE - EXT4 VS BTRFS fio: Rand Read - Linux AIO - No - Yes - 4KB - Default Test Directory fio: Rand Read - Linux AIO - No - Yes - 4KB - Default Test Directory sqlite: 15 fio: Rand Read - Linux AIO - No - Yes - 2MB - Default Test Directory fio: Rand Read - Linux AIO - No - Yes - 2MB - Default Test Directory dbench: 1 Clients fio: Seq Read - Linux AIO - No - Yes - 2MB - Default Test Directory fio: Seq Read - Linux AIO - No - Yes - 2MB - Default Test Directory fio: Seq Read - Linux AIO - No - Yes - 4KB - Default Test Directory fio: Seq Read - Linux AIO - No - Yes - 4KB - Default Test Directory dbench: 12 Clients sqlite: 8 sqlite: 1 fio: Rand Write - Linux AIO - No - Yes - 2MB - Default Test Directory fio: Rand Write - Linux AIO - No - Yes - 2MB - Default Test Directory fio: Rand Write - Linux AIO - No - Yes - 4KB - Default Test Directory fio: Rand Write - Linux AIO - No - Yes - 4KB - Default Test Directory fio: Seq Write - Linux AIO - No - Yes - 4KB - Default Test Directory fio: Seq Write - Linux AIO - No - Yes - 4KB - Default Test Directory fio: Seq Write - Linux AIO - No - Yes - 2MB - Default Test Directory fio: Seq Write - Linux AIO - No - Yes - 2MB - Default Test Directory EXT4 BTRFS 934667 0.913 520.419 895222 0.874 103.311 1691667 1.652 1694667 1.655 601.685 292.421 14.902 533667 0.521 541000 0.528 1485667 1.451 1488667 1.454 645333 0.630 484.135 647000 0.632 83.5439 1684000 1.645 1678333 1.639 240.296 499.783 102.157 14400 0.0141 14233 0.0139 687667 0.672 693667 0.677 OpenBenchmarking.org
Flexible IO Tester Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory OpenBenchmarking.org IOPS, More Is Better Flexible IO Tester 3.36 Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory BTRFS EXT4 200K 400K 600K 800K 1000K SE +/- 10819.22, N = 9 SE +/- 7264.83, N = 3 645333 934667 -lz 1. (CC) gcc options: -rdynamic -lm -laio -lpthread -ldl -std=gnu99 -ffast-math -include -O3 -fcommon -march=native
Flexible IO Tester Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 3.36 Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory BTRFS EXT4 0.2054 0.4108 0.6162 0.8216 1.027 SE +/- 0.011, N = 9 SE +/- 0.007, N = 3 0.630 0.913 -lz 1. (CC) gcc options: -rdynamic -lm -laio -lpthread -ldl -std=gnu99 -ffast-math -include -O3 -fcommon -march=native
SQLite Threads / Copies: 15 OpenBenchmarking.org Seconds, Fewer Is Better SQLite 3.41.2 Threads / Copies: 15 BTRFS EXT4 110 220 330 440 550 SE +/- 6.45, N = 9 SE +/- 8.26, N = 9 484.14 520.42 -lz 1. (CC) gcc options: -O2 -lm
Flexible IO Tester Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory OpenBenchmarking.org IOPS, More Is Better Flexible IO Tester 3.36 Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory BTRFS EXT4 200K 400K 600K 800K 1000K SE +/- 3785.94, N = 3 SE +/- 15868.19, N = 9 647000 895222 -lz 1. (CC) gcc options: -rdynamic -lm -laio -lpthread -ldl -std=gnu99 -ffast-math -include -O3 -fcommon -march=native
Flexible IO Tester Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 3.36 Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory BTRFS EXT4 0.1967 0.3934 0.5901 0.7868 0.9835 SE +/- 0.004, N = 3 SE +/- 0.015, N = 9 0.632 0.874 -lz 1. (CC) gcc options: -rdynamic -lm -laio -lpthread -ldl -std=gnu99 -ffast-math -include -O3 -fcommon -march=native
Dbench 1 Clients OpenBenchmarking.org MB/s, More Is Better Dbench 4.0 1 Clients BTRFS EXT4 20 40 60 80 100 SE +/- 0.82, N = 5 SE +/- 0.87, N = 3 83.54 103.31 1. (CC) gcc options: -lpopt -O2
Flexible IO Tester Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory OpenBenchmarking.org IOPS, More Is Better Flexible IO Tester 3.36 Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory BTRFS EXT4 400K 800K 1200K 1600K 2000K SE +/- 8082.90, N = 3 SE +/- 333.33, N = 3 1684000 1691667 -lz 1. (CC) gcc options: -rdynamic -lm -laio -lpthread -ldl -std=gnu99 -ffast-math -include -O3 -fcommon -march=native
Flexible IO Tester Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 3.36 Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory BTRFS EXT4 0.3717 0.7434 1.1151 1.4868 1.8585 SE +/- 0.008, N = 3 SE +/- 0.000, N = 3 1.645 1.652 -lz 1. (CC) gcc options: -rdynamic -lm -laio -lpthread -ldl -std=gnu99 -ffast-math -include -O3 -fcommon -march=native
Flexible IO Tester Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory OpenBenchmarking.org IOPS, More Is Better Flexible IO Tester 3.36 Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory BTRFS EXT4 400K 800K 1200K 1600K 2000K SE +/- 7859.88, N = 3 SE +/- 6359.59, N = 3 1678333 1694667 -lz 1. (CC) gcc options: -rdynamic -lm -laio -lpthread -ldl -std=gnu99 -ffast-math -include -O3 -fcommon -march=native
Flexible IO Tester Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 3.36 Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory BTRFS EXT4 0.3724 0.7448 1.1172 1.4896 1.862 SE +/- 0.008, N = 3 SE +/- 0.006, N = 3 1.639 1.655 -lz 1. (CC) gcc options: -rdynamic -lm -laio -lpthread -ldl -std=gnu99 -ffast-math -include -O3 -fcommon -march=native
Dbench 12 Clients OpenBenchmarking.org MB/s, More Is Better Dbench 4.0 12 Clients BTRFS EXT4 130 260 390 520 650 SE +/- 0.84, N = 3 SE +/- 1.54, N = 3 240.30 601.69 1. (CC) gcc options: -lpopt -O2
SQLite Threads / Copies: 8 OpenBenchmarking.org Seconds, Fewer Is Better SQLite 3.41.2 Threads / Copies: 8 BTRFS EXT4 110 220 330 440 550 SE +/- 0.58, N = 3 SE +/- 10.87, N = 9 499.78 292.42 -lz 1. (CC) gcc options: -O2 -lm
SQLite Threads / Copies: 1 OpenBenchmarking.org Seconds, Fewer Is Better SQLite 3.41.2 Threads / Copies: 1 BTRFS EXT4 20 40 60 80 100 SE +/- 3.35, N = 15 SE +/- 0.13, N = 15 102.16 14.90 -lz 1. (CC) gcc options: -O2 -lm
Flexible IO Tester Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory OpenBenchmarking.org IOPS, More Is Better Flexible IO Tester 3.36 Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory BTRFS EXT4 110K 220K 330K 440K 550K SE +/- 119.52, N = 7 SE +/- 1452.97, N = 3 14400 533667 -lz 1. (CC) gcc options: -rdynamic -lm -laio -lpthread -ldl -std=gnu99 -ffast-math -include -O3 -fcommon -march=native
Flexible IO Tester Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 3.36 Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory BTRFS EXT4 0.1172 0.2344 0.3516 0.4688 0.586 SE +/- 0.0001, N = 7 SE +/- 0.0012, N = 3 0.0141 0.5210 -lz 1. (CC) gcc options: -rdynamic -lm -laio -lpthread -ldl -std=gnu99 -ffast-math -include -O3 -fcommon -march=native
Flexible IO Tester Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory OpenBenchmarking.org IOPS, More Is Better Flexible IO Tester 3.36 Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory BTRFS EXT4 120K 240K 360K 480K 600K SE +/- 120.19, N = 3 SE +/- 3055.05, N = 3 14233 541000 -lz 1. (CC) gcc options: -rdynamic -lm -laio -lpthread -ldl -std=gnu99 -ffast-math -include -O3 -fcommon -march=native
Flexible IO Tester Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 3.36 Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory BTRFS EXT4 0.1188 0.2376 0.3564 0.4752 0.594 SE +/- 0.0001, N = 3 SE +/- 0.0031, N = 3 0.0139 0.5280 -lz 1. (CC) gcc options: -rdynamic -lm -laio -lpthread -ldl -std=gnu99 -ffast-math -include -O3 -fcommon -march=native
Flexible IO Tester Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory OpenBenchmarking.org IOPS, More Is Better Flexible IO Tester 3.36 Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory BTRFS EXT4 300K 600K 900K 1200K 1500K SE +/- 2027.59, N = 3 SE +/- 3282.95, N = 3 687667 1485667 -lz 1. (CC) gcc options: -rdynamic -lm -laio -lpthread -ldl -std=gnu99 -ffast-math -include -O3 -fcommon -march=native
Flexible IO Tester Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 3.36 Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory BTRFS EXT4 0.3265 0.653 0.9795 1.306 1.6325 SE +/- 0.002, N = 3 SE +/- 0.003, N = 3 0.672 1.451 -lz 1. (CC) gcc options: -rdynamic -lm -laio -lpthread -ldl -std=gnu99 -ffast-math -include -O3 -fcommon -march=native
Flexible IO Tester Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory OpenBenchmarking.org IOPS, More Is Better Flexible IO Tester 3.36 Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory BTRFS EXT4 300K 600K 900K 1200K 1500K SE +/- 4176.65, N = 3 SE +/- 4409.59, N = 3 693667 1488667 -lz 1. (CC) gcc options: -rdynamic -lm -laio -lpthread -ldl -std=gnu99 -ffast-math -include -O3 -fcommon -march=native
Flexible IO Tester Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 3.36 Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory BTRFS EXT4 0.3272 0.6544 0.9816 1.3088 1.636 SE +/- 0.004, N = 3 SE +/- 0.004, N = 3 0.677 1.454 -lz 1. (CC) gcc options: -rdynamic -lm -laio -lpthread -ldl -std=gnu99 -ffast-math -include -O3 -fcommon -march=native
Phoronix Test Suite v10.8.5