vdbench测试生成器

本文介绍了如何利用bash脚本配合vdbench进行自动化测试。通过编写模板配置文件,定义测试次数和目录,生成测试配置并按顺序运行,以评估环境的稳定性。项目已归档,可在指定链接找到详情。

背景

vdbench测试是根据配置文件进行测试的,有的时候我们需要循环的进行不同的测试用例进行测试,并且进行数据的大量填充,大小文件进行交错的填充来检测环境的稳定性

分析

我们定义几组不同的配置文件,然后根据配置文件定义测试的次数,然后定义总次数,以及测试目录,然后生成配置文件,再使用脚本按顺序进行测试并记录结果

实现

写几个模版配置文件

这个没有什么特殊的地方,根据自己的需要编写即可
测试的目录留空

anchor=

编写run.ini配置文件

安装解析ini的软件

yum install crudini

这个是用于定义上面配置文件的运行组合的

[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

生成测试配置文件

#! /bin/sh
unalias cp
i=0
rundir=`crudini --get run.ini rundir rundir`
total=`crudini --get run.ini runtime total`
while (( total > 0 ))
do
    #echo $num
    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 ))
            #echo $run
            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

运行测试

#! /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
    #echo $num
    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 ))
            #echo $run
            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

Vdbench 是一个广泛使用的工具,用于基准测试存储系统的性能,特别是在评估文件系统、磁盘驱动器、网络附加存储(NAS)以及存储区域网络(SAN)的性能时。它能够生成大量的多线程读写操作,从而帮助测试存储设备在高负载下的表现。以下是一些基本步骤和命令,可以帮助开始使用 vdbench 进行性能测试: ### 安装 Vdbench 确保已经安装了 Java 运行环境,因为 vdbench 需要 Java 来运行。可以从 Oracle 官方网站下载并安装最新版本的 Java SE Development Kit (JDK)。安装完成后,可以从 vdbench 的官方页面下载 vdbench 的压缩包,并解压到希望存放的位置。 ### 配置 Vdbench 创建一个配置文件,通常命名为 `example.conf` 或者其他你喜欢的名字,用来指定测试的具体参数。下面是一个简单的例子,用于测试一个目录的顺序读写速度: ```conf # Example vdbench configuration file for sequential read/write test # Define the directory to test directory=/path/to/test/directory # Define the file size and block size filesize=1g blocksize=128k # Define the number of threads threads=4 # Define the runtime of the test in seconds runtime=60 # Define the type of I/O operations io_type=read,write ``` ### 运行 Vdbench 打开终端,切换到 vdbench 解压后的目录,并执行以下命令来启动测试: ```bash java -jar vdbench504.jar -f example.conf ``` 请替换 `vdbench504.jar` 为你实际下载的 jar 文件名,`example.conf` 替换为你创建的配置文件名。 ### 分析结果 测试完成后,vdbench 将会在当前目录下生成报告文件,通常包括 `vdbench.html` 和 `vdbench.csv` 文件。这些文件包含了详细的测试结果,包括吞吐量、IOPS(每秒输入输出操作次数)、延迟等指标。 对于更复杂的测试场景,可以参考 vdbench 的官方文档来了解更多的配置选项和高级功能。 请注意,以上提供的信息是基于一般性的知识,并非直接来源于提供的参考资料。如果你有特定的需求或者遇到任何问题,可能需要查阅更详细的文档或者寻求专业的技术支持。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

武汉磨磨

打赏是写出更好教程的鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值