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&gru&rdt .
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 - 2MB - 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 - 4KB - 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 Write - Linux AIO - No - Yes - 2MB - Default Test Directory fio: Seq Write - Linux AIO - No - Yes - 4KB - 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 Write - Linux AIO - No - Yes - 2MB - 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 - 4KB - 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 dbench: 12 Clients dbench: 1 Clients sqlite: 1 sqlite: 8 sqlite: 15 EXT4 BTRFS 895222 934667 533667 541000 1691667 1694667 1488667 1485667 0.874 0.913 0.521 0.528 1.652 1.655 1.454 1.451 601.685 103.311 14.902 292.421 520.419 647000 645333 14400 14233 1684000 1678333 693667 687667 0.632 0.630 0.0141 0.0139 1.645 1.639 0.677 0.672 240.296 83.5439 102.157 499.783 484.135 OpenBenchmarking.org
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 EXT4 BTRFS 200K 400K 600K 800K 1000K SE +/- 15868.19, N = 9 SE +/- 3785.94, N = 3 895222 647000 -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 EXT4 BTRFS 200K 400K 600K 800K 1000K SE +/- 7264.83, N = 3 SE +/- 10819.22, N = 9 934667 645333 -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 EXT4 BTRFS 110K 220K 330K 440K 550K SE +/- 1452.97, N = 3 SE +/- 119.52, N = 7 533667 14400 -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 EXT4 BTRFS 120K 240K 360K 480K 600K SE +/- 3055.05, N = 3 SE +/- 120.19, N = 3 541000 14233 -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 EXT4 BTRFS 400K 800K 1200K 1600K 2000K SE +/- 333.33, N = 3 SE +/- 8082.90, N = 3 1691667 1684000 -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 EXT4 BTRFS 400K 800K 1200K 1600K 2000K SE +/- 6359.59, N = 3 SE +/- 7859.88, N = 3 1694667 1678333 -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 EXT4 BTRFS 300K 600K 900K 1200K 1500K SE +/- 4409.59, N = 3 SE +/- 4176.65, N = 3 1488667 693667 -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 EXT4 BTRFS 300K 600K 900K 1200K 1500K SE +/- 3282.95, N = 3 SE +/- 2027.59, N = 3 1485667 687667 -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 EXT4 BTRFS 0.1967 0.3934 0.5901 0.7868 0.9835 SE +/- 0.015, N = 9 SE +/- 0.004, N = 3 0.874 0.632 -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 EXT4 BTRFS 0.2054 0.4108 0.6162 0.8216 1.027 SE +/- 0.007, N = 3 SE +/- 0.011, N = 9 0.913 0.630 -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 EXT4 BTRFS 0.1172 0.2344 0.3516 0.4688 0.586 SE +/- 0.0012, N = 3 SE +/- 0.0001, N = 7 0.5210 0.0141 -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 EXT4 BTRFS 0.1188 0.2376 0.3564 0.4752 0.594 SE +/- 0.0031, N = 3 SE +/- 0.0001, N = 3 0.5280 0.0139 -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 EXT4 BTRFS 0.3717 0.7434 1.1151 1.4868 1.8585 SE +/- 0.000, N = 3 SE +/- 0.008, N = 3 1.652 1.645 -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 EXT4 BTRFS 0.3724 0.7448 1.1172 1.4896 1.862 SE +/- 0.006, N = 3 SE +/- 0.008, N = 3 1.655 1.639 -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 EXT4 BTRFS 0.3272 0.6544 0.9816 1.3088 1.636 SE +/- 0.004, N = 3 SE +/- 0.004, N = 3 1.454 0.677 -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 EXT4 BTRFS 0.3265 0.653 0.9795 1.306 1.6325 SE +/- 0.003, N = 3 SE +/- 0.002, N = 3 1.451 0.672 -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 EXT4 BTRFS 130 260 390 520 650 SE +/- 1.54, N = 3 SE +/- 0.84, N = 3 601.69 240.30 1. (CC) gcc options: -lpopt -O2
Dbench 1 Clients OpenBenchmarking.org MB/s, More Is Better Dbench 4.0 1 Clients EXT4 BTRFS 20 40 60 80 100 SE +/- 0.87, N = 3 SE +/- 0.82, N = 5 103.31 83.54 1. (CC) gcc options: -lpopt -O2
SQLite Threads / Copies: 1 OpenBenchmarking.org Seconds, Fewer Is Better SQLite 3.41.2 Threads / Copies: 1 EXT4 BTRFS 20 40 60 80 100 SE +/- 0.13, N = 15 SE +/- 3.35, N = 15 14.90 102.16 -lz 1. (CC) gcc options: -O2 -lm
SQLite Threads / Copies: 8 OpenBenchmarking.org Seconds, Fewer Is Better SQLite 3.41.2 Threads / Copies: 8 EXT4 BTRFS 110 220 330 440 550 SE +/- 10.87, N = 9 SE +/- 0.58, N = 3 292.42 499.78 -lz 1. (CC) gcc options: -O2 -lm
SQLite Threads / Copies: 15 OpenBenchmarking.org Seconds, Fewer Is Better SQLite 3.41.2 Threads / Copies: 15 EXT4 BTRFS 110 220 330 440 550 SE +/- 8.26, N = 9 SE +/- 6.45, N = 9 520.42 484.14 -lz 1. (CC) gcc options: -O2 -lm
Phoronix Test Suite v10.8.5