blob: 269e127052d21f5a4f02408cd84f4a18afdd90e3 [file] [log] [blame]
#!/bin/bash
set -x
TEST_FILE=$1
OUT_FILE=$2
NUM_CYCLES=7
# TESTS_PER_CYCLE=9
# COUNTER=0
# (( NUM_TESTS=$NUM_CYCLES * $TESTS_PER_CYCLE))
# function next() {
# echo "Done $COUNTER tests from $NUM_TESTS"
# (( COUNTER=$COUNTER + 1 ))
# }
function super_sync() {
sync
echo 3 > /proc/sys/vm/drop_caches
}
function run_tests(){
super_sync ; dd if=/dev/zero of=$TEST_FILE bs=1048576 count=10240
OPTS="--test-file $TEST_FILE --type fio --iodepth 1 --iosize 10G --timeout 15"
for cycle in $(seq 50) ; do
super_sync ; python io.py $OPTS -a randwrite --blocksize 4k -d --concurrency 1
done
echo "--------------------------------------------------------------------------------"
OPTS="--test-file $TEST_FILE --type fio --iodepth 1 --iosize 10G --timeout 30"
OPERS="read write randread randwrite"
CONCS="1 4 8 64"
SIZES="4k 16k 64k 256k 1m 2m"
for cycle in $(seq $NUM_CYCLES) ; do
for conc in $CONCS ; do
for bsize in $SIZES ; do
for operation in $OPERS ; do
super_sync ; python io.py $OPTS -a $operation --blocksize $bsize -d --concurrency $conc
done
done
done
done
for cycle in $(seq $NUM_CYCLES) ; do
for conc in $CONCS ; do
for operation in $OPERS ; do
super_sync ; python io.py $OPTS -a $operation --blocksize 4k -s --concurrency $conc
done
done
done
super_sync ; python io.py $OPTS -a write --blocksize 2m --concurrency 1
super_sync ; python io.py $OPTS -a write --blocksize 2m --concurrency 1
super_sync ; python io.py $OPTS -a write --blocksize 2m --concurrency 1
OPTS="--test-file $TEST_FILE --type fio --iodepth 1 --iosize 1G"
for cycle in $(seq $NUM_CYCLES) ; do
super_sync ; python io.py $OPTS -a randwrite --blocksize 4k -d --concurrency 1
done
OPTS="--test-file $TEST_FILE --type fio --iodepth 1 --iosize 10G"
# need to test different file sizes
# need to test different timeouts - maybe we can decrease test time
}
run_tests "$FILE_1" 2>&1 | tee "$OUT_FILE"