硬盘基线测试

发布时间 2023-03-30 16:58:10作者: 技术颜良
#!/bin/bash
# 2022-03-31
# 硬盘基线测试
TEST_PATH="/snapshot/"
TEST_FILE_PREFIX="test_"
TEST_LOG="/tmp/base_test_disk.log"
 
# 判断fio命令是否存在
fio -v
if [ $? -ne 0 ];then
    echo "fio is not exist, please install fio"
    exit 127
fi
 
# 4K 100% 顺序写
fio -filename=${TEST_PATH}${TEST_FILE_PREFIX}sqe_100write_4k -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=4k -size=100G -numjobs=50 -runtime=600 -group_reporting -name=sqe_100write_4k 2>&1 >> ${TEST_LOG}
echo "---------" >> ${TEST_LOG}
echo "---------" >> ${TEST_LOG}
echo "---------" >> ${TEST_LOG}
echo "---------" >> ${TEST_LOG}
 
# 4K 100% 顺序读
fio -filename=${TEST_PATH}${TEST_FILE_PREFIX}sqe_100write_4k -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=4k -size=100G -numjobs=50 -runtime=600 -group_reporting -name=sqe_100read_4k 2>&1 >> ${TEST_LOG}
echo "---------" >> ${TEST_LOG}
echo "---------" >> ${TEST_LOG}
echo "---------" >> ${TEST_LOG}
echo "---------" >> ${TEST_LOG}
 
# 4K 100% 随机写
fio -filename=${TEST_PATH}${TEST_FILE_PREFIX}rand_100write_4k -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=4k -size=100G -numjobs=50 -runtime=600 -group_reporting -name=rand_100write_4k 2>&1 >> ${TEST_LOG}
echo "---------" >> ${TEST_LOG}
echo "---------" >> ${TEST_LOG}
echo "---------" >> ${TEST_LOG}
echo "---------" >> ${TEST_LOG}
 
# 4K 100% 随机读
fio -filename=${TEST_PATH}${TEST_FILE_PREFIX}rand_100write_4k -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=4k -size=100G -numjobs=50 -runtime=600 -group_reporting -name=rand_100read_4k 2>&1 >> ${TEST_LOG}
echo "---------" >> ${TEST_LOG}
echo "---------" >> ${TEST_LOG}
echo "---------" >> ${TEST_LOG}
echo "---------" >> ${TEST_LOG}
 
# 4K 100%随机,70%读,30%写
fio -filename=${TEST_PATH}${TEST_FILE_PREFIX}rand_100write_4k -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=4k -size=100G -numjobs=50 -runtime=600 -group_reporting -name=randrw_70read_4k 2>&1 >> ${TEST_LOG}
echo "---------" >> ${TEST_LOG}
echo "---------" >> ${TEST_LOG}
echo "---------" >> ${TEST_LOG}
echo "---------" >> ${TEST_LOG}
 
# 删除测试数据
/bin/rm -f ${TEST_PATH}${TEST_FILE_PREFIX}sqe_100write_4k