Compare your own system(s) to this result file with the
Phoronix Test Suite by running the command:
phoronix-test-suite benchmark 1803231-TY-MERGE995140 ZFS SSD Benchmark: RAW IMAGE vs QCOW2 vs ZVOL for KVM - Phoronix Test Suite ZFS SSD Benchmark: RAW IMAGE vs QCOW2 vs ZVOL for KVM This benchmark show’s the performance of a zfs pool
providing storage to a kvm virtual machine with three different formats:
raw image files on plain dataset
qcow2 image file on plain dataset
zvol
For each of those several filesystem benchmarks from the phoronix-benchmark-suite are run with two different recordsizes:
8k
64k
Host Details:
cpu: Intel® Xeon® CPU E5320 @ 1.86GHz
ram: 6GB DDR2
sata: Intel Corporation 631xESB/632xESB SATA AHCI Controller (rev 09
os: Debian GNU/Linux 9.4 (stretch), fully upgraded as of 2018-03-15
zfs: 0.7.6-1~bpo9+1 (from stretch-backports)
ssd: 2x samsung 840 pro 256GB
KVM machine:
cpu: host
ram: 1024MB
disk: bus=scsi,cache=writeback,io=threads
os: Debian GNU/Linux 9.1 (stretch)
fs: ext4
The zfs pool used consists of a single mirrored vdev with samsung 840 pro ssd’s.
Each benchmark is run like this:
drop all caches
trim whole ssd’s
create zfs pool (ashift=13,compression=lz4,atime=on,relatime=on
benchmark,devices=off,exec=off,setuid=off,xattr=off)
create disk:
qemu-img create -f raw debian9.raw 50G
qemu-img create -f qcow2 -o cluster_size=8k,preallocation=metadata,compat=1.1,lazy_refcounts=on debian9.qcow2 50G
zfs create -o volblocksize=8k -V 50G benchmark/kvm/debian9
create kvm machine
take timestamp
let debian9 install automatically
save install time
install phoronix-test-suite and needed dependencies in the vm
run the pts
trim the filesystem and save the time it took
copy the results to the kvm host
destroy vm and zpool
other test results:
8k_raw - install time: 619s, trim: 39.401s
64k raw - install time: 589s, trim: 0m9.593s
8k qcow2 - install time: 615s, trim: 1m45.421s
64k qcow2 - install time: 590s, trim: 0m7.598s
8k zvol - install time: 621s, trim: 0m11.353s
64k zvol - install time: 605s
HTML result view exported from: https://openbenchmarking.org/result/1803231-TY-MERGE995140&ftt=zfs+ssd+mirror%2C+ashift%3D13%2C+recordsize+8k%2C+raw+image&ftb=zfs+ssd+mirror%2C+ashift%3D13%2C+recordsize+8k%2C+zvol&ftt=zfs+ssd+mirror%2C+ashift%3D13%2C+recordsize+8k%2C+zvol&ftb=zfs+ssd+mirror%2C+ashift%3D13%2C+recordsize+8k%2C+raw+image&grw&sro .
ZFS SSD Benchmark: RAW IMAGE vs QCOW2 vs ZVOL for KVM Processor Motherboard Chipset Memory Disk Graphics Network OS Kernel Compiler File-System Screen Resolution System Layer zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 64k, zvol zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, raw image zfs ssd mirror, ashift=13, recordsize 8k, zvol 8 x Intel Celeron_4x0 (Conroe/Merom Class Core 2) @ 1.86GHz (8 Cores) QEMU Standard PC (i440FX + PIIX 1996) Intel 440FX- 82441FX PMC 1 x 1024 MB RAM QEMU 54GB QEMU HDD Cirrus Logic GD 5446 Realtek RTL-8100/8101L/8139 Debian 9.1 4.9.0-4-amd64 (x86_64) GCC 6.3.0 20170516 ext4 1024x768 qemu OpenBenchmarking.org Compiler Details - --build=x86_64-linux-gnu --disable-browser-plugin --disable-vtable-verify --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-gtk-cairo --enable-java-awt=gtk --enable-java-home --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --program-prefix=x86_64-linux-gnu- --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-arch-directory=amd64 --with-default-libstdcxx-abi=new --with-multilib-list=m32,m64,mx32 --with-target-system-zlib --with-tune=generic -v Disk Details - CFQ / data=ordered,errors=remount-ro,relatime,rw System Details - Python 2.7.13.
ZFS SSD Benchmark: RAW IMAGE vs QCOW2 vs ZVOL for KVM compilebench: Compile compilebench: Initial Create dbench: 256 fio: Rand Read - Linux AIO - No - Yes - 1MB - Default Test Directory fio: Rand Read - Linux AIO - No - Yes - 8KB - Default Test Directory fio: Rand Read - Linux AIO - No - Yes - 64KB - Default Test Directory fio: Seq Read - Linux AIO - No - Yes - 1MB - Default Test Directory fio: Seq Read - Linux AIO - No - Yes - 64KB - Default Test Directory iozone: 1MB - 8GB - Write Performance iozone: 4Kb - 8GB - Write Performance iozone: 64Kb - 8GB - Write Performance aio-stress: Rand Write zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 64k, zvol zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, raw image zfs ssd mirror, ashift=13, recordsize 8k, zvol 142.88 82.40 118.70 292 38.60 237 291 306 156.30 161.59 156.04 125.74 147.18 86.85 120.18 294 38.93 239 289 303 157.79 162.04 160.28 131.81 81.59 50.11 62.00 454 40.73 230 458 347 66.79 63.10 60.03 111.33 61.65 42.54 55.57 228 40.65 232 226 244 65.22 61.43 58.87 93.70 72.13 48.40 55.77 230 36.80 229 229 252 60.00 57.00 55.72 98.01 91.69 49.32 58.47 473 39.20 230 472 353 72.07 74.06 67.62 100.87 OpenBenchmarking.org
Compile Bench Test: Compile OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Compile zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 64k, zvol zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, raw image zfs ssd mirror, ashift=13, recordsize 8k, zvol 30 60 90 120 150 SE +/- 5.01, N = 6 SE +/- 5.21, N = 6 SE +/- 1.40, N = 3 SE +/- 4.97, N = 6 SE +/- 2.12, N = 6 SE +/- 2.73, N = 6 142.88 147.18 81.59 61.65 72.13 91.69
Compile Bench Test: Initial Create OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Initial Create zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 64k, zvol zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, raw image zfs ssd mirror, ashift=13, recordsize 8k, zvol 20 40 60 80 100 SE +/- 6.42, N = 3 SE +/- 3.08, N = 3 SE +/- 5.96, N = 3 SE +/- 8.32, N = 3 SE +/- 1.91, N = 3 SE +/- 3.57, N = 3 82.40 86.85 50.11 42.54 48.40 49.32
Dbench Client Count: 256 OpenBenchmarking.org MB/s, More Is Better Dbench 4.0 Client Count: 256 zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 64k, zvol zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, raw image zfs ssd mirror, ashift=13, recordsize 8k, zvol 30 60 90 120 150 SE +/- 0.23, N = 3 SE +/- 0.40, N = 3 SE +/- 2.00, N = 6 SE +/- 0.85, N = 3 SE +/- 2.11, N = 6 SE +/- 1.39, N = 6 118.70 120.18 62.00 55.57 55.77 58.47 1. (CC) gcc options: -lpopt -O2
Flexible IO Tester Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 1MB - Disk Target: Default Test Directory OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 3.1 Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 1MB - Disk Target: Default Test Directory zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 64k, zvol zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, raw image zfs ssd mirror, ashift=13, recordsize 8k, zvol 100 200 300 400 500 SE +/- 1.20, N = 3 SE +/- 2.08, N = 3 SE +/- 10.34, N = 6 SE +/- 1.00, N = 3 SE +/- 1.00, N = 3 SE +/- 7.46, N = 6 292 294 454 228 230 473 1. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl
Flexible IO Tester Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 8KB - Disk Target: Default Test Directory OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 3.1 Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 8KB - Disk Target: Default Test Directory zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 64k, zvol zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, raw image zfs ssd mirror, ashift=13, recordsize 8k, zvol 9 18 27 36 45 SE +/- 0.10, N = 3 SE +/- 0.03, N = 3 SE +/- 0.52, N = 3 SE +/- 0.65, N = 4 SE +/- 0.40, N = 3 SE +/- 0.38, N = 3 38.60 38.93 40.73 40.65 36.80 39.20 1. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl
Flexible IO Tester Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 64KB - Disk Target: Default Test Directory OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 3.1 Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 64KB - Disk Target: Default Test Directory zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 64k, zvol zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, raw image zfs ssd mirror, ashift=13, recordsize 8k, zvol 50 100 150 200 250 SE +/- 1.45, N = 3 SE +/- 0.58, N = 3 SE +/- 2.52, N = 3 SE +/- 0.88, N = 3 237 239 230 232 229 230 1. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl
Flexible IO Tester Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 1MB - Disk Target: Default Test Directory OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 3.1 Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 1MB - Disk Target: Default Test Directory zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 64k, zvol zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, raw image zfs ssd mirror, ashift=13, recordsize 8k, zvol 100 200 300 400 500 SE +/- 1.20, N = 3 SE +/- 0.67, N = 3 SE +/- 5.61, N = 3 SE +/- 0.67, N = 3 SE +/- 10.48, N = 6 291 289 458 226 229 472 1. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl
Flexible IO Tester Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 64KB - Disk Target: Default Test Directory OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 3.1 Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 64KB - Disk Target: Default Test Directory zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 64k, zvol zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, raw image zfs ssd mirror, ashift=13, recordsize 8k, zvol 80 160 240 320 400 SE +/- 1.33, N = 3 SE +/- 1.76, N = 3 SE +/- 7.51, N = 6 SE +/- 0.58, N = 3 SE +/- 1.33, N = 3 SE +/- 4.51, N = 3 306 303 347 244 252 353 1. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl
IOzone Record Size: 1MB - File Size: 8GB - Disk Test: Write Performance OpenBenchmarking.org MB/s, More Is Better IOzone 3.465 Record Size: 1MB - File Size: 8GB - Disk Test: Write Performance zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 64k, zvol zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, raw image zfs ssd mirror, ashift=13, recordsize 8k, zvol 30 60 90 120 150 SE +/- 0.82, N = 3 SE +/- 0.85, N = 3 SE +/- 0.50, N = 3 SE +/- 2.01, N = 6 SE +/- 1.42, N = 6 SE +/- 2.02, N = 6 156.30 157.79 66.79 65.22 60.00 72.07 1. (CC) gcc options: -O3
IOzone Record Size: 4Kb - File Size: 8GB - Disk Test: Write Performance OpenBenchmarking.org MB/s, More Is Better IOzone 3.465 Record Size: 4Kb - File Size: 8GB - Disk Test: Write Performance zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 64k, zvol zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, raw image zfs ssd mirror, ashift=13, recordsize 8k, zvol 40 80 120 160 200 SE +/- 1.79, N = 3 SE +/- 1.03, N = 3 SE +/- 1.08, N = 3 SE +/- 1.02, N = 6 SE +/- 1.60, N = 6 SE +/- 1.13, N = 3 161.59 162.04 63.10 61.43 57.00 74.06 1. (CC) gcc options: -O3
IOzone Record Size: 64Kb - File Size: 8GB - Disk Test: Write Performance OpenBenchmarking.org MB/s, More Is Better IOzone 3.465 Record Size: 64Kb - File Size: 8GB - Disk Test: Write Performance zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 64k, zvol zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, raw image zfs ssd mirror, ashift=13, recordsize 8k, zvol 40 80 120 160 200 SE +/- 2.73, N = 6 SE +/- 2.94, N = 6 SE +/- 1.77, N = 6 SE +/- 0.92, N = 6 SE +/- 0.37, N = 3 SE +/- 3.14, N = 6 156.04 160.28 60.03 58.87 55.72 67.62 1. (CC) gcc options: -O3
AIO-Stress Test: Random Write OpenBenchmarking.org MB/s, More Is Better AIO-Stress 0.21 Test: Random Write zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 64k, zvol zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, raw image zfs ssd mirror, ashift=13, recordsize 8k, zvol 30 60 90 120 150 SE +/- 0.78, N = 3 SE +/- 0.94, N = 3 SE +/- 0.51, N = 3 SE +/- 1.19, N = 3 SE +/- 0.50, N = 3 SE +/- 3.01, N = 6 125.74 131.81 111.33 93.70 98.01 100.87 1. (CC) gcc options: -pthread -laio
Phoronix Test Suite v10.8.4