Benchmarktests - wie schnell ist meine Storage (PBS)
Vorbereiten der Tests:
zfs create hdd-pool/test-benchmark zfs set primarycache=metadata hdd-pool/test-benchmark apt install fio -y
Random Read - IOPS - bs=4k (Restore)
fio --rw=randread --name=iops-randread --bs=4k --direct=1 --sync=1 --size=100G --sync=1 --filename=<zvol> --numjobs=4 --ioengine=libaio --iodepth=32 --refill_buffers --group_reporting --runtime=600 --time_based
Random Read - Bandwidth - bs=4M (Restore)
fio --rw=randread --name=bw-randread --bs=4M --direct=1 --sync=1 --size=100G --sync=1 --filename=<zvol> --numjobs=4 --ioengine=libaio --iodepth=32 --refill_buffers --group_reporting --runtime=600 --time_based
Normaler Lesetest 4M
fio --ioengine=psync --direct=1 --sync=1 --rw=read --bs=4M --numjobs=1 --iodepth=1 --runtime=60 --time_based --name read_4M --filename=<zvol> --size=50G
Schreibtest 4M
fio --ioengine=psync --direct=1 --sync=1 --rw=write --bs=4M --numjobs=1 --iodepth=1 --runtime=60 --time_based --name write_4M --filename=<zvol> --size=50G
Worst Case Tests - was kann ich mir mindestens erwarten
fio --ioengine=psync --direct=1 --sync=1 --rw=write --bs=1M --numjobs=1 --iodepth=1 --runtime=600 --time_based --name write_1M --filename=<zvol or path> --size=100G fio --ioengine=psync --direct=1 --sync=1 --rw=write --bs=4M --numjobs=1 --iodepth=1 --runtime=600 --time_based --name write_4M --filename=<zvol or path> --size=100G fio --ioengine=psync --direct=1 --sync=1 --rw=write --bs=64k --numjobs=1 --iodepth=1 --runtime=600 --time_based --name write_64_k --filename=<zvol or path> --size=100G fio --ioengine=psync --direct=1 --sync=1 --rw=write --bs=4k --numjobs=1 --iodepth=1 --runtime=600 --time_based --name write_4k --filename=<zvol or path> --size=100G
Durchschnitt (alias Hersteller)
fio --ioengine=libaio --direct=1 --sync=1 --rw=write --bs=4M --numjobs=4 --iodepth=64 --runtime=600 --time_based --name write_4M --filename=<zvol or path> --size=100G
Weitere Beispiele: https://forum.proxmox.com/threads/how-to-best-benchmark-ssds.93543/