I am new to Proxmox VE, I tried to find an answer for this problem with no luck.
The problem is that speed on Host is good but on Guest VM is very bad. I really tried all the cache types and 2 different ZFS Pools. The system specs are bellow for this test but i did tried on another Supermicro Server with AMD Epyc Rome and different HDD's with same results.
Test: Block 1M
fio --randrepeat=1 --ioengine=libaio --direct=0 --gtod_reduce=1 --name=test --filename=test --bs=1M --iodepth=32 --size=5G --readwrite=randrw --rwmixread=50 --numjobs=8 --time_based --runtime=120
### Quick Results
# HOST:
Run status group 0 (all jobs):
READ: bw=162MiB/s (170MB/s), 19.3MiB/s-20.8MiB/s (20.3MB/s-21.8MB/s), io=19.1GiB (20.5GB), run=120017-120819msec
WRITE: bw=164MiB/s (172MB/s), 19.7MiB/s-21.3MiB/s (20.7MB/s-22.4MB/s), io=19.3GiB (20.8GB), run=120017-120819msec
# Ubuntu 20.04 Guest VM / SCSI Controller: VirtIO SCSI / Default (No Cache) / Installed qemu-guest-agent
Run status group 0 (all jobs):
READ: bw=44.9MiB/s (47.1MB/s), 5062KiB/s-6190KiB/s (5184kB/s-6339kB/s), io=5496MiB (5763MB), run=120093-122414msec
WRITE: bw=46.0MiB/s (49.3MB/s), 5811KiB/s-6265KiB/s (5950kB/s-6416kB/s), io=5752MiB (6031MB), run=120093-122414msec
### This system is just for testing not production ###
DL380p G8 / P420i - HBA Mode
1 x HDD SATA 1TB Enteprise PVE Boot + 1 x USB Stick for GRUB
2 x HDD SAS 600GB 15K RPM - ZFS-Mirror-01 (ashift=9)
2 x HDD SAS 600GB 15K RPM - ZFS-Mirror-02 (ashift=9)
*Both Host and Guest VM are updated.
proxmox-ve: 6.3-1 (running kernel: 5.4.106-1-pve)
pve-manager: 6.3-6 (running version: 6.3-6/2184247e)
pve-kernel-5.4: 6.3-8
pve-kernel-helper: 6.3-8
pve-kernel-5.4.106-1-pve: 5.4.106-1
pve-kernel-5.4.73-1-pve: 5.4.73-1
ceph-fuse: 12.2.11+dfsg1-2.1+b1
corosync: 3.1.0-pve1
criu: 3.11-3
glusterfs-client: 5.5-3
ifupdown: 0.8.35+pve1
ksm-control-daemon: 1.3-1
libjs-extjs: 6.0.1-10
libknet1: 1.20-pve1
libproxmox-acme-perl: 1.0.8
libproxmox-backup-qemu0: 1.0.3-1
libpve-access-control: 6.1-3
libpve-apiclient-perl: 3.1-3
libpve-common-perl: 6.3-5
libpve-guest-common-perl: 3.1-5
libpve-http-server-perl: 3.1-1
libpve-storage-perl: 6.3-7
libqb0: 1.0.5-1
libspice-server1: 0.14.2-4~pve6+1
lvm2: 2.03.02-pve4
lxc-pve: 4.0.6-2
lxcfs: 4.0.6-pve1
novnc-pve: 1.1.0-1
proxmox-backup-client: 1.0.12-1
proxmox-mini-journalreader: 1.1-1
proxmox-widget-toolkit: 2.4-9
pve-cluster: 6.2-1
pve-container: 3.3-4
pve-docs: 6.3-1
pve-edk2-firmware: 2.20200531-1
pve-firewall: 4.1-3
pve-firmware: 3.2-2
pve-ha-manager: 3.1-1
pve-i18n: 2.3-1
pve-qemu-kvm: 5.2.0-5
pve-xtermjs: 4.7.0-3
qemu-server: 6.3-10
smartmontools: 7.2-pve2
spiceterm: 3.1-1
vncterm: 1.6-2
zfsutils-linux: 2.0.4-pve1
The problem is that speed on Host is good but on Guest VM is very bad. I really tried all the cache types and 2 different ZFS Pools. The system specs are bellow for this test but i did tried on another Supermicro Server with AMD Epyc Rome and different HDD's with same results.
Test: Block 1M
fio --randrepeat=1 --ioengine=libaio --direct=0 --gtod_reduce=1 --name=test --filename=test --bs=1M --iodepth=32 --size=5G --readwrite=randrw --rwmixread=50 --numjobs=8 --time_based --runtime=120
### Quick Results
# HOST:
Run status group 0 (all jobs):
READ: bw=162MiB/s (170MB/s), 19.3MiB/s-20.8MiB/s (20.3MB/s-21.8MB/s), io=19.1GiB (20.5GB), run=120017-120819msec
WRITE: bw=164MiB/s (172MB/s), 19.7MiB/s-21.3MiB/s (20.7MB/s-22.4MB/s), io=19.3GiB (20.8GB), run=120017-120819msec
# Ubuntu 20.04 Guest VM / SCSI Controller: VirtIO SCSI / Default (No Cache) / Installed qemu-guest-agent
Run status group 0 (all jobs):
READ: bw=44.9MiB/s (47.1MB/s), 5062KiB/s-6190KiB/s (5184kB/s-6339kB/s), io=5496MiB (5763MB), run=120093-122414msec
WRITE: bw=46.0MiB/s (49.3MB/s), 5811KiB/s-6265KiB/s (5950kB/s-6416kB/s), io=5752MiB (6031MB), run=120093-122414msec
### This system is just for testing not production ###
DL380p G8 / P420i - HBA Mode
1 x HDD SATA 1TB Enteprise PVE Boot + 1 x USB Stick for GRUB
2 x HDD SAS 600GB 15K RPM - ZFS-Mirror-01 (ashift=9)
2 x HDD SAS 600GB 15K RPM - ZFS-Mirror-02 (ashift=9)
*Both Host and Guest VM are updated.
proxmox-ve: 6.3-1 (running kernel: 5.4.106-1-pve)
pve-manager: 6.3-6 (running version: 6.3-6/2184247e)
pve-kernel-5.4: 6.3-8
pve-kernel-helper: 6.3-8
pve-kernel-5.4.106-1-pve: 5.4.106-1
pve-kernel-5.4.73-1-pve: 5.4.73-1
ceph-fuse: 12.2.11+dfsg1-2.1+b1
corosync: 3.1.0-pve1
criu: 3.11-3
glusterfs-client: 5.5-3
ifupdown: 0.8.35+pve1
ksm-control-daemon: 1.3-1
libjs-extjs: 6.0.1-10
libknet1: 1.20-pve1
libproxmox-acme-perl: 1.0.8
libproxmox-backup-qemu0: 1.0.3-1
libpve-access-control: 6.1-3
libpve-apiclient-perl: 3.1-3
libpve-common-perl: 6.3-5
libpve-guest-common-perl: 3.1-5
libpve-http-server-perl: 3.1-1
libpve-storage-perl: 6.3-7
libqb0: 1.0.5-1
libspice-server1: 0.14.2-4~pve6+1
lvm2: 2.03.02-pve4
lxc-pve: 4.0.6-2
lxcfs: 4.0.6-pve1
novnc-pve: 1.1.0-1
proxmox-backup-client: 1.0.12-1
proxmox-mini-journalreader: 1.1-1
proxmox-widget-toolkit: 2.4-9
pve-cluster: 6.2-1
pve-container: 3.3-4
pve-docs: 6.3-1
pve-edk2-firmware: 2.20200531-1
pve-firewall: 4.1-3
pve-firmware: 3.2-2
pve-ha-manager: 3.1-1
pve-i18n: 2.3-1
pve-qemu-kvm: 5.2.0-5
pve-xtermjs: 4.7.0-3
qemu-server: 6.3-10
smartmontools: 7.2-pve2
spiceterm: 3.1-1
vncterm: 1.6-2
zfsutils-linux: 2.0.4-pve1
Last edited: