提示

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

发布于2019-09-18

  • 分布式存储
  • Vdbench


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


分享至:

联系

我们

400-838-3331

在线

客服