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&rdt&grr .
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 8k, raw image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, zvol zfs ssd mirror, ashift=13, recordsize 64k, 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: Initial Create compilebench: Compile iozone: 64Kb - 8GB - Write Performance iozone: 4Kb - 8GB - Write Performance iozone: 1MB - 8GB - Write Performance dbench: 256 fio: Seq Read - Linux AIO - No - Yes - 64KB - Default Test Directory fio: Seq Read - Linux AIO - No - Yes - 1MB - Default Test Directory fio: Rand Read - Linux AIO - No - Yes - 64KB - Default Test Directory fio: Rand Read - Linux AIO - No - Yes - 8KB - Default Test Directory fio: Rand Read - Linux AIO - No - Yes - 1MB - Default Test Directory aio-stress: Rand Write zfs ssd mirror, ashift=13, recordsize 8k, raw image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, zvol zfs ssd mirror, ashift=13, recordsize 64k, zvol 48.40 72.13 55.72 57.00 60.00 55.77 252 229 229 36.80 230 98.01 86.85 147.18 160.28 162.04 157.79 120.18 303 289 239 38.93 294 131.81 42.54 61.65 58.87 61.43 65.22 55.57 244 226 232 40.65 228 93.70 82.40 142.88 156.04 161.59 156.30 118.70 306 291 237 38.60 292 125.74 49.32 91.69 67.62 74.06 72.07 58.47 353 472 230 39.20 473 100.87 50.11 81.59 60.03 63.10 66.79 62.00 347 458 230 40.73 454 111.33 OpenBenchmarking.org
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 8k, raw image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, zvol zfs ssd mirror, ashift=13, recordsize 64k, zvol 20 40 60 80 100 SE +/- 1.91, N = 3 SE +/- 3.08, N = 3 SE +/- 8.32, N = 3 SE +/- 6.42, N = 3 SE +/- 3.57, N = 3 SE +/- 5.96, N = 3 48.40 86.85 42.54 82.40 49.32 50.11
Compile Bench Test: Compile OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Compile zfs ssd mirror, ashift=13, recordsize 8k, raw image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, zvol zfs ssd mirror, ashift=13, recordsize 64k, zvol 30 60 90 120 150 SE +/- 2.12, N = 6 SE +/- 5.21, N = 6 SE +/- 4.97, N = 6 SE +/- 5.01, N = 6 SE +/- 2.73, N = 6 SE +/- 1.40, N = 3 72.13 147.18 61.65 142.88 91.69 81.59
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 8k, raw image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, zvol zfs ssd mirror, ashift=13, recordsize 64k, zvol 40 80 120 160 200 SE +/- 0.37, N = 3 SE +/- 2.94, N = 6 SE +/- 0.92, N = 6 SE +/- 2.73, N = 6 SE +/- 3.14, N = 6 SE +/- 1.77, N = 6 55.72 160.28 58.87 156.04 67.62 60.03 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 8k, raw image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, zvol zfs ssd mirror, ashift=13, recordsize 64k, zvol 40 80 120 160 200 SE +/- 1.60, N = 6 SE +/- 1.03, N = 3 SE +/- 1.02, N = 6 SE +/- 1.79, N = 3 SE +/- 1.13, N = 3 SE +/- 1.08, N = 3 57.00 162.04 61.43 161.59 74.06 63.10 1. (CC) gcc options: -O3
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 8k, raw image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, zvol zfs ssd mirror, ashift=13, recordsize 64k, zvol 30 60 90 120 150 SE +/- 1.42, N = 6 SE +/- 0.85, N = 3 SE +/- 2.01, N = 6 SE +/- 0.82, N = 3 SE +/- 2.02, N = 6 SE +/- 0.50, N = 3 60.00 157.79 65.22 156.30 72.07 66.79 1. (CC) gcc options: -O3
Dbench Client Count: 256 OpenBenchmarking.org MB/s, More Is Better Dbench 4.0 Client Count: 256 zfs ssd mirror, ashift=13, recordsize 8k, raw image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, zvol zfs ssd mirror, ashift=13, recordsize 64k, zvol 30 60 90 120 150 SE +/- 2.11, N = 6 SE +/- 0.40, N = 3 SE +/- 0.85, N = 3 SE +/- 0.23, N = 3 SE +/- 1.39, N = 6 SE +/- 2.00, N = 6 55.77 120.18 55.57 118.70 58.47 62.00 1. (CC) gcc options: -lpopt -O2
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 8k, raw image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, zvol zfs ssd mirror, ashift=13, recordsize 64k, zvol 80 160 240 320 400 SE +/- 1.33, N = 3 SE +/- 1.76, N = 3 SE +/- 0.58, N = 3 SE +/- 1.33, N = 3 SE +/- 4.51, N = 3 SE +/- 7.51, N = 6 252 303 244 306 353 347 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 8k, raw image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, zvol zfs ssd mirror, ashift=13, recordsize 64k, zvol 100 200 300 400 500 SE +/- 0.67, N = 3 SE +/- 0.67, N = 3 SE +/- 1.20, N = 3 SE +/- 10.48, N = 6 SE +/- 5.61, N = 3 229 289 226 291 472 458 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 8k, raw image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, zvol zfs ssd mirror, ashift=13, recordsize 64k, zvol 50 100 150 200 250 SE +/- 1.45, N = 3 SE +/- 2.52, N = 3 SE +/- 0.88, N = 3 SE +/- 0.58, N = 3 229 239 232 237 230 230 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 8k, raw image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, zvol zfs ssd mirror, ashift=13, recordsize 64k, zvol 9 18 27 36 45 SE +/- 0.40, N = 3 SE +/- 0.03, N = 3 SE +/- 0.65, N = 4 SE +/- 0.10, N = 3 SE +/- 0.38, N = 3 SE +/- 0.52, N = 3 36.80 38.93 40.65 38.60 39.20 40.73 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: 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 8k, raw image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, zvol zfs ssd mirror, ashift=13, recordsize 64k, zvol 100 200 300 400 500 SE +/- 1.00, N = 3 SE +/- 2.08, N = 3 SE +/- 1.00, N = 3 SE +/- 1.20, N = 3 SE +/- 7.46, N = 6 SE +/- 10.34, N = 6 230 294 228 292 473 454 1. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl
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 8k, raw image zfs ssd mirror, ashift=13, recordsize 64k, raw image zfs ssd mirror, ashift=13, recordsize 8k, qcow2 image zfs ssd mirror, ashift=13, recordsize 64k, qcow2 image zfs ssd mirror, ashift=13, recordsize 8k, zvol zfs ssd mirror, ashift=13, recordsize 64k, zvol 30 60 90 120 150 SE +/- 0.50, N = 3 SE +/- 0.94, N = 3 SE +/- 1.19, N = 3 SE +/- 0.78, N = 3 SE +/- 3.01, N = 6 SE +/- 0.51, N = 3 98.01 131.81 93.70 125.74 100.87 111.33 1. (CC) gcc options: -pthread -laio
Phoronix Test Suite v10.8.4