Thin-LUN使用vdbench测试性能如何预埋数据

一、功能需求

Thin-LUN性能测试过程中,由于刚创建的THIN-LUN需要预埋数据,才能准确测试出实际性能,所以在第一次性能测试之前,需要使用vdbench预埋数据

二、组网图

三、配置步骤

seekpct=eof

测试性能时,如果读取的是没有被写过的空的块设备时,性能会更好。但是不能准确的测试出真实性能。一般这个时候会先选择预埋 / 填充数据,再进行测试。如下所示

report_run_totals=yes
sd=default,openflags=o_direct,threads=1
sd=sd1,lun=/dev/mapper/mpatha
sd=sd2,lun=/dev/mapper/mpathb
sd=sd3,lun=/dev/mapper/mpathc
sd=sd4,lun=/dev/mapper/mpathd
sd=sd5,lun=/dev/mapper/mpathe
wd=wd1,sd=sd*,xfersize=(256k,10,128k,10,64k,20,32k,20,16k,10,8k,20,4k,10),rdpct=0,seekpct=eof
rd=run1,wd=wd*,iorate=max,elapsed=604800,interval=1

1、 seekpct 通常用来指定测试模型的随机还是顺序读写的方式。seekpct=0代表顺序, seekpct=100代表随机。而 seekpct=eof 代表顺序。而 seekpct=0和 seekpct=eof 的区别在于:当 seekpct=0时,到达卷或文件的末尾时,I/O会继续开始,覆盖预埋数据,直到 elapsed 时间到达为止。当 seekpct=eof 时,当所有的SD都完成时,会自动停止。

2、 通常 vdbench 运行时间取决于 elapsed 参数,但是当 seekpct=eof 时,存在以下两种情况: 1 、当 elapsed 设置时间较短,无法完成所有块设备的填充,由 elapsed 设置时间来决定 vdbench 运行时间; 2 、当 elapsed 设置时间较大,则当预埋完成自动停止,不受 elapsed 影响,所以预埋数据时, elapsed 参数建议设置较大。

注意:可以通过查看totals_optional.html文件查看预埋数据量

report_run_totals=yes

1、 report_run_totals是可选的输出文件,如果需要记录完成的 i/o 总量,添加如上参数。如果不需要不用添加。

2、 report_run_totals=yes参数添加之后, vdbench 输出文件夹(可指定,若不指定默认在 vdbench 安装目录 output 文件夹下)会生成totals_optional.html 文件内容如下:

Total iops:                    总 IOPS

Total reads+writes:       读 + 写总操作数

Total gigabytes:            总字节(单位 GB)

Total gigabytes read:     读取字节(单位 GB)

Total gigabytes write:     写入字节(单位 GB)

Total reads:                    读操作数

Total writes:                    写操作数

Total readpct:                  读占比

Total I/O or DV errors:     IO报错数(每 GB报错)

注意:如果使用report_run_totals=yes用来记录 IO总量,建议使用 vdbench50406版本。

四、配置关键点

先学习使用vdbench

五、风险提示

六、关键字

预埋,vdbench