Hello!
First of all let me start by saying that I'm aware I do not have the recommended hardware and setup as stated in the official documentation. I do not use enterprise-grade SSD's.
However, I still would like to ask your help in diagnosing and optimizing my storage settings. I hope I can squeeze out some more performance.
I have a Proxmox host with:
CPU: Intel Core i3-9100 (4 cores @ 3,6GHz)
RAM: 32GB DDR4
Storage: - 2x Intel 870QVO 1TB SATA SSD
- 2x 4TB Western Digital harddrives
The issue: When copying some files to a VM running on ZFS storage, I see the RAM usage on my Proxmox host fill-up and then file-transfer performance drops significant. The transfer starts at 110MB/s, saturating my gigabit connection, and then drops to 0kb/s for a few seconds to increase to around 15MB/s. RAM usage before the file transfer was around 60-70%. The issue for me is the speed-drops of course, I don't care if it fills up my RAM or not. That is just the behaviour I notice when doing a file transfer.
When copying to the hard drives, which are simple directory's on EXT4, I have no performance drops.
It is clear to me that ZFS takes a huge performance penalty on my hardware. But I hope it is due to my settings, rather than hardware limitations.
Configuration:
The two 870QVO SSD's are configured as a zpool in mirror-1, compression=on (default settings used). I'm a total ZFS noob so I have no idea where to start optimizing. I'm not expecting world-class performance, but to be honest I expected to be able to saturate my gigabit line when writing to SSD storage.
I have another proxmox host available, so if absolutely necessary I can delete the current ZFS pool and re-create it with different settings if that would give me more performance.
So, TL;DR: what can I do (on the software side) to optimize ZFS performance?
First of all let me start by saying that I'm aware I do not have the recommended hardware and setup as stated in the official documentation. I do not use enterprise-grade SSD's.
However, I still would like to ask your help in diagnosing and optimizing my storage settings. I hope I can squeeze out some more performance.
I have a Proxmox host with:
CPU: Intel Core i3-9100 (4 cores @ 3,6GHz)
RAM: 32GB DDR4
Storage: - 2x Intel 870QVO 1TB SATA SSD
- 2x 4TB Western Digital harddrives
The issue: When copying some files to a VM running on ZFS storage, I see the RAM usage on my Proxmox host fill-up and then file-transfer performance drops significant. The transfer starts at 110MB/s, saturating my gigabit connection, and then drops to 0kb/s for a few seconds to increase to around 15MB/s. RAM usage before the file transfer was around 60-70%. The issue for me is the speed-drops of course, I don't care if it fills up my RAM or not. That is just the behaviour I notice when doing a file transfer.
When copying to the hard drives, which are simple directory's on EXT4, I have no performance drops.
It is clear to me that ZFS takes a huge performance penalty on my hardware. But I hope it is due to my settings, rather than hardware limitations.
Configuration:
The two 870QVO SSD's are configured as a zpool in mirror-1, compression=on (default settings used). I'm a total ZFS noob so I have no idea where to start optimizing. I'm not expecting world-class performance, but to be honest I expected to be able to saturate my gigabit line when writing to SSD storage.
I have another proxmox host available, so if absolutely necessary I can delete the current ZFS pool and re-create it with different settings if that would give me more performance.
So, TL;DR: what can I do (on the software side) to optimize ZFS performance?