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&grt&sro .
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 dbench: 12 Clients dbench: 1 Clients fio: Rand Read - Linux AIO - No - Yes - 2MB - Default Test Directory fio: Rand Read - Linux AIO - No - Yes - 2MB - Default Test Directory fio: Rand Read - Linux AIO - No - Yes - 4KB - Default Test Directory fio: Rand Read - Linux AIO - No - Yes - 4KB - Default Test Directory 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 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 fio: Seq Write - Linux AIO - No - Yes - 2MB - Default Test Directory fio: Seq Write - Linux AIO - No - Yes - 2MB - 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 sqlite: 1 sqlite: 8 sqlite: 15 EXT4 BTRFS 601.685 103.311 0.874 895222 0.913 934667 0.521 533667 0.528 541000 1.652 1691667 1.655 1694667 1.454 1488667 1.451 1485667 14.902 292.421 520.419 240.296 83.5439 0.632 647000 0.630 645333 0.0141 14400 0.0139 14233 1.645 1684000 1.639 1678333 0.677 693667 0.672 687667 102.157 499.783 484.135 OpenBenchmarking.org
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
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: 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
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: 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
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 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: 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: 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: 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: 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: 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: 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
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 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
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: 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: 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
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
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: 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
Phoronix Test Suite v10.8.5