Hello, I encounter a problem while testing proxmox for our futur IT Structure.
I have vanilla promox 6 install on a 2x Xeon Silver 4214 with 196 Gb RAM and 2TB NVME.
On the host if I benchmark i have this ( READ ):
root@node01:~# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=testio --filename=testio --bs=4k --iodepth=64 --size=4G --readwrite=randread
testio: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
fio-3.12
Starting 1 process
Jobs: 1 (f=1): [r(1)][100.0%][r=1019MiB/s][r=261k IOPS][eta 00m:00s]
I create a simple VM with this settings:
root@node01:~# qm config 100
agent: 1
bootdisk: scsi0
cores: 24
ide2: local:iso/CentOS-7-x86_64-DVD-2003.iso,media=cdrom
memory: 32000
name: basesyscentos
net0: virtio=A2:A3:F2
A:80:77,bridge=vmbr1,firewall=1
numa: 0
ostype: l26
scsi0: local:100/vm-100-disk-0.qcow2,backup=0,cache=none,iothread=1,size=256G
scsihw: virtio-scsi-pci
smbios1: uuid=cf374ea9-6325-4359-9a7f-591fed4ab535
sockets: 2
vmgenid: 5ac023e9-7b1f-4a6a-b389-369831859671
If I benchmark this vm:
[administrateur@ip98 ~]$ fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=testio --filename=testio --bs=4k --iodepth=64 --size=4G --readwrite=randread
testio: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
fio-3.7
Starting 1 process
Jobs: 1 (f=1): [r(1)][100.0%][r=245MiB/s,w=0KiB/s][r=62.7k,w=0 IOPS][eta 00m:00s]
We got 70% slower performance from 1020mb/s to 245mb/s on the same physical disk...
I have try all cache type:
None
DirectSync
Writethrough
Writeback
But I have always this bad performance.
For the write performance its the same:
Directly on the host:
root@node01:~# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=testio --filename=testio --bs=4k --iodepth=64 --size=4G --readwrite=randwrite
testio: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
fio-3.12
Starting 1 process
Jobs: 1 (f=1): [w(1)][100.0%][w=626MiB/s][w=160k IOPS][eta 00m:00s]
On the VM:
[administrateur@ip98 ~]$ fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=testio --filename=testio --bs=4k --iodepth=64 --size=4G --readwrite=randwrite
testio: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
fio-3.7
Starting 1 process
Jobs: 1 (f=1): [w(1)][100.0%][r=0KiB/s,w=241MiB/s][r=0,w=61.6k IOPS][eta 00m:00s]
What can I do to have a better performance like a native i/o ?
Thanks a lot for your help
I have vanilla promox 6 install on a 2x Xeon Silver 4214 with 196 Gb RAM and 2TB NVME.
On the host if I benchmark i have this ( READ ):
root@node01:~# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=testio --filename=testio --bs=4k --iodepth=64 --size=4G --readwrite=randread
testio: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
fio-3.12
Starting 1 process
Jobs: 1 (f=1): [r(1)][100.0%][r=1019MiB/s][r=261k IOPS][eta 00m:00s]
I create a simple VM with this settings:
root@node01:~# qm config 100
agent: 1
bootdisk: scsi0
cores: 24
ide2: local:iso/CentOS-7-x86_64-DVD-2003.iso,media=cdrom
memory: 32000
name: basesyscentos
net0: virtio=A2:A3:F2

numa: 0
ostype: l26
scsi0: local:100/vm-100-disk-0.qcow2,backup=0,cache=none,iothread=1,size=256G
scsihw: virtio-scsi-pci
smbios1: uuid=cf374ea9-6325-4359-9a7f-591fed4ab535
sockets: 2
vmgenid: 5ac023e9-7b1f-4a6a-b389-369831859671
If I benchmark this vm:
[administrateur@ip98 ~]$ fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=testio --filename=testio --bs=4k --iodepth=64 --size=4G --readwrite=randread
testio: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
fio-3.7
Starting 1 process
Jobs: 1 (f=1): [r(1)][100.0%][r=245MiB/s,w=0KiB/s][r=62.7k,w=0 IOPS][eta 00m:00s]
We got 70% slower performance from 1020mb/s to 245mb/s on the same physical disk...
I have try all cache type:
None
DirectSync
Writethrough
Writeback
But I have always this bad performance.
For the write performance its the same:
Directly on the host:
root@node01:~# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=testio --filename=testio --bs=4k --iodepth=64 --size=4G --readwrite=randwrite
testio: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
fio-3.12
Starting 1 process
Jobs: 1 (f=1): [w(1)][100.0%][w=626MiB/s][w=160k IOPS][eta 00m:00s]
On the VM:
[administrateur@ip98 ~]$ fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=testio --filename=testio --bs=4k --iodepth=64 --size=4G --readwrite=randwrite
testio: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
fio-3.7
Starting 1 process
Jobs: 1 (f=1): [w(1)][100.0%][r=0KiB/s,w=241MiB/s][r=0,w=61.6k IOPS][eta 00m:00s]
What can I do to have a better performance like a native i/o ?
Thanks a lot for your help