Skip to content

Instantly share code, notes, and snippets.

@drakonstein
Last active August 29, 2018 17:27
Show Gist options
  • Save drakonstein/0a11d7c5bd0a87c0255e3b8102921e13 to your computer and use it in GitHub Desktop.
Save drakonstein/0a11d7c5bd0a87c0255e3b8102921e13 to your computer and use it in GitHub Desktop.
#!/bin/bash
# folder to place logs
logging_folder=/root/fio_testing
mkdir -p "$output_folder"
# use all mapped RBDs in the specified pool with the specified prefix
pool=rbd
rbd_prefix=test
rbds=$(echo $(ls /dev/rbd/${pool}/${rbd_prefix}*) | sed 's/ /:/g')
# values to loop over to test all combinations of the specified settings
blocksizes="4 16 64 128"
iodepths="1 4 16 128"
numjobs="1 4 16 128"
ramp_time=60
runtime=300
for bs in $blocksizes; do
for iodepth in $iodepths; do
for numjob in $numjobs; do
# Number of tests to run with each combination of settings
for i in {1..12}; do
run=${bs}kRandWriteIO${iodepth}J${numjob}-run${i}
echo
echo "starting: $run"
fio --filename=$rbds --direct=1 --ioengine=libaio --bs=${bs}k --rw=randwrite --iodepth=$iodepth --numjobs=$numjob --ramp_time=$ramp_time --runtime=$runtime --group_reporting --name=$run --output=${logging_folder}/${run}
sleep 3
done
done
done
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment