《杉岩两语》:Vdbench在分布式存储性能测试中的使用方法

Sort:SDS百问 Release time:2019年12月27日
Share:


Vdbench是Oracle编写的一款应用广泛的存储性能测试工具,既支持块设备的性能测试,也支持文件系统性能测试。Vdbench使用java编写,兼容linux和windows的操作系统,使用方便。


1、Vdbench使用及结果参看

使用vdbench时需要先安装java的jdk包,Vdbench作为性能测试工具,广泛应用于各种性能测试场景中,当然,它也是免费的(点击这里,了解为什么要说也)。同时vdbench一个重要特性就是数据一致性的测试。Vdbench在做随机写的一致性测试很方便,能实时检查出哪一个扇区出现了数据不一致。

具体使用包括:

./vdbench -t 

这一步先测试一下工具能不能用,如何正常,会在目录下自动生成一个output

./vdbench -f parmfile

根据指定配置文件测试,这里的parmfile需要根据测试环境修改,可以参考output目录下的parmfile


2、Vdbench校验数据原理

每一个写操作对SD或FSD会记录在内存表中。每512字节的扇区的块写入包含一个8字节LBA,和一个字节的数据验证密钥。写同一个块是数据验证key会从1增加到126。一旦达到126,又会回到1。零是一个内部值,表示该块从未被写入。在块被写入一次后,块中的数据将在每次读取后进行验证。


3、Vdbench参数配置


image.png


具体使用实例较为明确,这里不再赘述。


4、Parmfile参数配置

*代表注释,参数配置写入到parmfile文件里面,hitarea如果设置为1m会报错,建议设置为100m

*

* This sample parameter file first creates a temporary file

* if this is the first time the file is referenced.

* It then does a five second 4k 50% read, 50% write test.

*

* sd=sd1,lun=/tmp/quick_vdbench_test,size=40m

* wd=wd1,sd=sd1,xf=1k,rdpct=50

* rd=rd1,wd=wd1,iorate=100,elapsed=5,interval=1

sd=sd1,lun=/dev/dm-3,openflags=o_direct,thread=30

wd=wd1,sd=sd*,seekpct=0,rdpct=100,whpct=100,rhpct=100,xfersize=128k

rd=rd1,wd=wd1,iorate=max,elapsed=14400,interval=2

*validate=yes,journal=yes,hitarea=1m

hitarea=100m


5、执行命令

./vdbench -f parmfile -jn    

-jn是支持数据校验,可以验证数据一致性,可以支持crash和reboot时的数据校验。

说明:如果想测试下vdbench数据一致性检查功能是否生效,可以将一个LUN通过iSCSI或者FC挂载到两台主机,然后一台主机对LUN进行vdbench写操作,另一台对该LUN进行dd写,观察Vdbench是否能实时检测到数据不一致。


6、结果输出

Vdbench的结果放在安装目录下面的output文件夹中,如果有错误可以在errorlog.html,总体测试结果值放在summary.html


以上,就是使用Vdbench进行性能测试的完整流程。对于一名测试人员来说,工作的大部分乐趣就在于发现和分析,而善于使用工具则会让这一个过程更为美妙。


Your privacy is important to us

We use cookies to personalize and enhance your browsing experience on our website. By clicking "Accept all cookies", you agree to the use of cookies. You can read our Cookie Policy for more information.

Phone

Service Hotline

400-838-3331

More contact information

Top

Scan code attention