vdbench测试生成器
zphj1987vdbench测试生成器
背景
vdbench测试是根据配置文件进行测试的,有的时候我们需要循环的进行不同的测试用例进行测试,并且进行数据的大量填充,大小文件进行交错的填充来检测环境的稳定性
分析
我们定义几组不同的配置文件,然后根据配置文件定义测试的次数,然后定义总次数,以及测试目录,然后生成配置文件,再使用脚本按顺序进行测试并记录结果
实现
写几个模版配置文件
这个没有什么特殊的地方,根据自己的需要编写即可
测试的目录留空
编写run.ini配置文件
安装解析ini的软件
这个是用于定义上面配置文件的运行组合的
1 2 3 4 5 6 7 8 9 10 11
| [runcase] run1=base-big-1M run2=base-mid-500K run3=base-small-100K [runtime] run1=1 run2=2 run3=1 total=8 [rundir] rundir=/mnt
|
生成测试配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| #! /bin/sh unalias cp i=0 rundir=`crudini --get run.ini rundir rundir` total=`crudini --get run.ini runtime total` while (( total > 0 )) do for runcase in `crudini --get run.ini runcase` do runtime=`crudini --get run.ini runtime $runcase` for run in `seq $runtime` do i=$(( $i + 1 )) myrun=`crudini --get run.ini runcase $runcase` mytest=$myrun-$i echo $mytest mkdir runcase/$mytest -p total=$(( $total - 1 )) cp -ra $myrun runcase/$mytest/case.conf sed -i "s#anchor=*,#anchor=${rundir}/${mytest},#" runcase/$mytest/case.conf done done
done
|
运行测试
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| #! /bin/sh vdbench=/root/vdbench50407/vdbench unalias cp i=0 rundir=`crudini --get run.ini rundir rundir` total=`crudini --get run.ini runtime total` while (( total > 0 )) do for runcase in `crudini --get run.ini runcase` do runtime=`crudini --get run.ini runtime $runcase` for run in `seq $runtime` do i=$(( $i + 1 )) myrun=`crudini --get run.ini runcase $runcase` mytest=$myrun-$i echo $mytest total=$(( $total - 1 )) dofile=runcase/$mytest/dodo if [ ! -f "$dofile" ]; then $vdbench -f runcase/$mytest/case.conf -o runcase/$mytest/output touch runcase/$mytest/dodo fi done done
done
|
总结
使用脚本就控制几个循环的执行,可以自定义不同的vdbench怎么去跑的,整体上操作难度较低,测试结果也分开保存了,数据也写到不同的目录
归档项目地址
https://e.coding.net/zphj1987/vdbench-generater/vdbench-generater.git