turn off the internal sd-card reader.
it introduces 1-2% of io delay for no reason.
you can find it with
lsblck
if you dont have any sata-drives in the system its most likely /dev/sda.
if there are sata drives in the system it will be something else.
the command to disable it until reboot is:
Code:
echo 1 > /sys/block/sdc/device/delete
you can make this change permanent by adding the following commain to your crontab:
Code:
@reboot root /usr/bin/echo 1 > /sys/block/sdc/device/delete 2>&1
in my case its sdc, in your case the command may need to be adjusted to sda or whatever devicename the sd-card reader has.
the other thing is that you use zfs on cheap consumer ssds.
this will cause 2 things.
first it will make the ssds really slow due to the fact that virtualisation uses primarily sync-writes and those cannot be cached or optimized on consumer drives due to their lack of power loss protection.
second it will likely destroy the drives within an unreasonably short amount of time due to exceeding the write endurance of the drives (made even worse by the lack of PLP, which prevents caching and optimization before writing data to the flash).
this causes high write amplification of up to 30:1, meaning that for every GB of data written to the disk up to 30 GB of data will actually be written to the physical medium.
disks with PLP dont have this issue, because they can cache and optimize sync writes due to the condensators (PLP) built into the ssd, which guarantee, that cached data can be safely written to the disk.
another factor for io-delay of course is how io-intensive the vms are which you are deploying on proxmox.
for me io-delay is usually like this:
but i dont have any heavy io on the disks. 2 windows vms, 6 linux-vms and 7 containers, all relatively idle.
if you deploy databases with lots of transaction going on then of course io-wait will go up.
you could look up with iotop, which process is causing the most io on your system.
on my machine it looks like this:
in my case my server2022 is causing the most io, because it has mssql and veeam backup and replication running as services.
for you it maybe something entirely different.