Hello all,
I've been struggling with getting good performance out of ZFS in proxmox. I have noticed that there is a huge performance deficit in random read and write performance.
Drive Layout:
8 Samsung 970 PRO 1TB drives in span of mirrors. Basically Raid 10.
Pool optimizations:
sync=Disabled
Ashift=13
Recordsize=8K
Testing methodology:
FIO
Random Read Write
READ: io=3070.4MB, aggrb=318378KB/s, minb=318378KB/s, maxb=318378KB/s, mint=9875msec, maxt=9875msec
WRITE: io=1025.8MB, aggrb=106361KB/s, minb=106361KB/s, maxb=106361KB/s, mint=9875msec, maxt=9875msec
Results in Clean Proxmox install
Random Read Write
READ: io=3070.4MB, aggrb=63124KB/s, minb=63124KB/s, maxb=63124KB/s, mint=49806msec, maxt=49806msec
WRITE: io=1025.8MB, aggrb=21088KB/s, minb=21088KB/s, maxb=21088KB/s, mint=49806msec, maxt=49806msec
For reference, sequential write is unaffected.
Sequential Write under Debian
WRITE: io=32768MB, aggrb=2653.7MB/s, minb=339592KB/s, maxb=351428KB/s, mint=11935msec, maxt=12351msec
Sequential Write under Proxmox
WRITE: io=32768MB, aggrb=2566.3MB/s, minb=328475KB/s, maxb=340474KB/s, mint=12319msec, maxt=12769msec
Installing Proxmox on top of Debian did not help this cause. Performance still dropped.
Anything I can do to increase performance?
I've been struggling with getting good performance out of ZFS in proxmox. I have noticed that there is a huge performance deficit in random read and write performance.
Drive Layout:
8 Samsung 970 PRO 1TB drives in span of mirrors. Basically Raid 10.
Pool optimizations:
sync=Disabled
Ashift=13
Recordsize=8K
Testing methodology:
FIO
[random-read-write]
randrepeat=1
ioengine=libaio
gtod_reduce=1
name=test
filename=test
bs=4k
iodepth=64
size=4G
readwrite=randrw
rwmixread=75
directory=/NVME/test
[sequential-write]
rw=write
size=4G
directory=/NVME/test
ioengine=libaio
bs=8k
numjobs=8
Results in Clean Debian Stretch installrandrepeat=1
ioengine=libaio
gtod_reduce=1
name=test
filename=test
bs=4k
iodepth=64
size=4G
readwrite=randrw
rwmixread=75
directory=/NVME/test
[sequential-write]
rw=write
size=4G
directory=/NVME/test
ioengine=libaio
bs=8k
numjobs=8
Random Read Write
READ: io=3070.4MB, aggrb=318378KB/s, minb=318378KB/s, maxb=318378KB/s, mint=9875msec, maxt=9875msec
WRITE: io=1025.8MB, aggrb=106361KB/s, minb=106361KB/s, maxb=106361KB/s, mint=9875msec, maxt=9875msec
Results in Clean Proxmox install
Random Read Write
READ: io=3070.4MB, aggrb=63124KB/s, minb=63124KB/s, maxb=63124KB/s, mint=49806msec, maxt=49806msec
WRITE: io=1025.8MB, aggrb=21088KB/s, minb=21088KB/s, maxb=21088KB/s, mint=49806msec, maxt=49806msec
For reference, sequential write is unaffected.
Sequential Write under Debian
WRITE: io=32768MB, aggrb=2653.7MB/s, minb=339592KB/s, maxb=351428KB/s, mint=11935msec, maxt=12351msec
Sequential Write under Proxmox
WRITE: io=32768MB, aggrb=2566.3MB/s, minb=328475KB/s, maxb=340474KB/s, mint=12319msec, maxt=12769msec
Installing Proxmox on top of Debian did not help this cause. Performance still dropped.
Anything I can do to increase performance?