fio - arosh/arosh.github.com GitHub Wiki
fio --direct=1 --ioengine=libaio --iodepth=64 --readwrite=randwrite --bs=16k --numjobs=${JOB} --directory=${DIR} --size=4g --runtime=30 --time_based --ramp_time=2s --unlink=1 --group_reporting -name=${NAME} | tee ${NAME}.log
- unlink が必要かどうかはよく考えて。次回の実行の最初に fallocate が走る。
- fsync_on_close と end_fsync が両方必要かも
#!/bin/sh
set -uex
DIR=
IODEPTHs="1 2 4 8 16 32 64"
NUMJOBSs="1 2 4 8"
for NUMJOBS in ${NUMJOBSs}; do
for IODEPTH in ${IODEPTHs}; do
NAME="iodepth_${IODEPTH}-numjobs_${NUMJOBS}"
fio --direct=1 --ioengine=libaio --iodepth=${IODEPTH} --readwrite=randwrite --bs=16k --numjobs=${NUMJOBS} --directory=${DIR} --size=4g --runtime=30 --time_based --ramp_time=2s --group_reporting -name=fio --output-format=json > ${NAME}.json
done
done
#!/bin/sh
set -ue
DIR=
IODEPTHs="1 2 4 8 16 32 64"
NUMJOBSs="1 2 4 8"
for NUMJOBS in ${NUMJOBSs}; do
for IODEPTH in ${IODEPTHs}; do
NAME="iodepth_${IODEPTH}-numjobs_${NUMJOBS}"
IOPS=$(cat ${NAME}.json | jq '.jobs[0].write.iops')
echo -n "${IOPS}"
echo -n -e "\t"
done
echo
done
seq write
fio --ioengine=psync --readwrite=write --fsync_on_close=1 --bs=64k --numjobs=1 --directory=${DIR} --size=4g --runtime=60 --time_based --ramp_time=5s --unlink=1 --group_reporting --name=write