Proxmox Benchmark Tools

brian.vanasten

New Member
Jan 23, 2025
8
0
1
Hello,

What tools do you guys use to benchmark servers, clusters, disk, etc. prior to deployment? I've setup a cluster and I would like to benchmark networking, corosync, ceph, disk and any other tools you think I should use to benchmark the cluster prior to moving VMs into the new Proxmox environment.

thanks

Brian
 
I just used iperf3 to test network links, and fio to test storage IOPS to get an idea how performant the hosts, vms, iscsi targets and containers are, especially for big databases. Pretty basic, but works. Can do random and sequential tests.

Example;
Code:
Random r/w
sync;fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=4G --readwrite=randwrite --ramp_time=4
sync;fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=4G --readwrite=randread --ramp_time=4

Sequential r/w
sync;fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4M --iodepth=64 --size=4G --readwrite=write --ramp_time=4
sync;fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4M --iodepth=64 --size=4G --readwrite=read --ramp_time=4

HTH
 
  • Like
Reactions: brian.vanasten
I just used iperf3 to test network links, and fio to test storage IOPS to get an idea how performant the hosts, vms, iscsi targets and containers are, especially for big databases. Pretty basic, but works. Can do random and sequential tests.

Example;
Code:
Random r/w
sync;fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=4G --readwrite=randwrite --ramp_time=4
sync;fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=4G --readwrite=randread --ramp_time=4

Sequential r/w
sync;fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4M --iodepth=64 --size=4G --readwrite=write --ramp_time=4
sync;fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4M --iodepth=64 --size=4G --readwrite=read --ramp_time=4

HTH
What parameters did you use with iperf3? I see all the options but I'm not sure what options you selected. Thanks!!
 
I seem to remember running 20 threads or more. Iperf3 -s on your server.

Then on client: iperf3 -c <server_IP> -P <number_of_threads>" to run a test.
 
Proxmox VE is just plain old Debian, which is Linux so any Linux benchmark will run. There is no built-in benchmark besides pveperf, which is just a very, very rough benchmark but sometimes good enough.

In addition to @dj423's suggestions, please also look at rados bench if on ceph.
 
  • Like
Reactions: dj423