diff options
Diffstat (limited to '')
-rw-r--r-- | playgrounds/fio-bench.tgz | bin | 0 -> 1189 bytes | |||
-rw-r--r-- | playgrounds/fio/rand-read.fio | 16 | ||||
-rw-r--r-- | playgrounds/fio/rand-write.fio | 14 | ||||
-rwxr-xr-x | playgrounds/fio/runner.sh | 60 | ||||
-rw-r--r-- | playgrounds/fio/seq-read.fio | 14 | ||||
-rw-r--r-- | playgrounds/fio/seq-rw.fio | 17 | ||||
-rw-r--r-- | playgrounds/fio/seq-write.fio | 14 |
7 files changed, 135 insertions, 0 deletions
diff --git a/playgrounds/fio-bench.tgz b/playgrounds/fio-bench.tgz new file mode 100644 index 0000000..06ff644 --- /dev/null +++ b/playgrounds/fio-bench.tgz Binary files differdiff --git a/playgrounds/fio/rand-read.fio b/playgrounds/fio/rand-read.fio new file mode 100644 index 0000000..8d473af --- /dev/null +++ b/playgrounds/fio/rand-read.fio @@ -0,0 +1,16 @@ +[global] +name=fio-rand-RW +filename=./data/fio-rand-RW +rw=randrw +rwmixread=60 +rwmixwrite=40 +bs=4K +direct=0 +numjobs=4 +time_based=1 +runtime=900 + +[file1] +size=8G +ioengine=libaio +iodepth=16 diff --git a/playgrounds/fio/rand-write.fio b/playgrounds/fio/rand-write.fio new file mode 100644 index 0000000..5564414 --- /dev/null +++ b/playgrounds/fio/rand-write.fio @@ -0,0 +1,14 @@ +[global] +name=fio-rand-write +filename=./data/fio-rand-write +rw=randwrite +bs=4K +direct=0 +numjobs=4 +time_based=1 +runtime=900 + +[file1] +size=8G +ioengine=libaio +iodepth=16 diff --git a/playgrounds/fio/runner.sh b/playgrounds/fio/runner.sh new file mode 100755 index 0000000..8df8895 --- /dev/null +++ b/playgrounds/fio/runner.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +## Helper script to run fio tests and generate reports + +DATA_DIR=./data +LOG_DIR=./logs +REPORT_DIR=./reports + +FIO_BIN=./usr/bin/fio +if [ "${2}x" != "x" ]; then + FIO_BIN=${2} +fi + +FIOS_LIST=$(ls *.fio) +NOW_EPOCH=$(date +"%s") +LOG_DIR_READS=${LOG_DIR}/reads +LOG_DIR_WRITES=${LOG_DIR}/writes + +# create required directories +mkdir -p ${DATA_DIR} + +if [ -d "${REPORT_DIR}" ]; then + echo "Report directory exists, archiving using current timestamp: ${NOW_EPOCH}" + mv ${REPORT_DIR} ${REPORT_DIR}_${NOW_EPOCH} +fi +mkdir -p ${REPORT_DIR} + +if [ -d "${LOG_DIR}" ]; then + echo "Log directory exists, archiving using current timestamp: ${NOW_EPOCH}" + mv ${LOG_DIR} ${LOG_DIR}_${NOW_EPOCH} +fi +mkdir -p ${LOG_DIR_WRITES} +mkdir -p ${LOG_DIR_READS} + +# run all fios in sequential order +for i in $(echo ${FIOS_LIST} | tr " " "\n") +do + echo -e "\nStarting fio test ${i}..." + ${FIO_BIN} ./${i} --output ${REPORT_DIR}/${i}.out + + mv *read*.log ${LOG_DIR_READS}/ + mv *write*.log ${LOG_DIR_WRITES}/ + + rm -f data/* # delete created fio files after each run + + echo "Completed fio test ${i}." +done + +# plot reports to svg +FIO_PLOT_BIN=./usr/bin/fio_generate_plots +if type "${FIO_PLOT_BIN}" > /dev/null && type "gnuplot" > /dev/null; then + + echo "fio_generate_plots is installed generating svg reports based on fio logs" + + ( cd ${LOG_DIR_READS} && for f in *.log; do mv $f ${f/.[1-3]/}; done && ${FIO_PLOT_BIN} "All-Reads" ) + ( cd ${LOG_DIR_WRITES} && for f in *.log; do mv $f ${f/.[1-3]/}; done && ${FIO_PLOT_BIN} "All-Writes" ) + + mv ${LOG_DIR_READS}/*.svg ${REPORT_DIR}/ + mv ${LOG_DIR_WRITES}/*.svg ${REPORT_DIR}/ +fi diff --git a/playgrounds/fio/seq-read.fio b/playgrounds/fio/seq-read.fio new file mode 100644 index 0000000..c3225a3 --- /dev/null +++ b/playgrounds/fio/seq-read.fio @@ -0,0 +1,14 @@ +[global] +name=fio-seq-reads +filename=./data/fio-seq-reads +rw=read +bs=256K +direct=1 +numjobs=1 +time_based=1 +runtime=900 + +[file1] +size=8G +ioengine=libaio +iodepth=16 diff --git a/playgrounds/fio/seq-rw.fio b/playgrounds/fio/seq-rw.fio new file mode 100644 index 0000000..81c50e7 --- /dev/null +++ b/playgrounds/fio/seq-rw.fio @@ -0,0 +1,17 @@ +[global] +name=fio-seq-RW +filename=./data/fio-seq-RW +rw=rw +rwmixread=60 +rwmixwrite=40 +bs=256K +direct=0 +numjobs=4 +time_based=1 +runtime=900 + +[file1] +size=8G +ioengine=libaio +iodepth=16 + diff --git a/playgrounds/fio/seq-write.fio b/playgrounds/fio/seq-write.fio new file mode 100644 index 0000000..88fbeaa --- /dev/null +++ b/playgrounds/fio/seq-write.fio @@ -0,0 +1,14 @@ +[global] +name=fio-seq-write +filename=./data/fio-seq-write +rw=write +bs=256K +direct=0 +numjobs=1 +time_based=1 +runtime=900 + +[file1] +size=8G +ioengine=libaio +iodepth=16 |