如何使用Vdbench 5.04.07进行高效数据库性能测试?
摘要:1. 前言 Vdbench 是由 Oracle 开发的一款磁盘 IO 工作负载生成器,主要用于对裸盘和文件系统进行测试和基准测试。它用 Java 编写,支持多种操作系统平台,具备丰富功能,可生成多种类型的存储 IO 工作负载,还能进行详
1. 前言
Vdbench 是由 Oracle 开发的一款磁盘 I/O 工作负载生成器,主要用于对裸盘和文件系统进行测试和基准测试。它用 Java 编写,支持多种操作系统平台,具备丰富功能,可生成多种类型的存储 I/O 工作负载,还能进行详细的性能报告。
2. 语法
vdbench –f parmfile
parmfile 中定义测试需要的各种参数,所有的参数必须按照顺序定义,否则会运行失败。对于裸盘测试,参数按照 General, HD, RG, SD, WD and RD 顺序定义。对于文件系统,参数按照 General, HD, FSD, FWD and RD 顺序定义。
3. 参数
3.1. 块设备(裸盘)
块设备参数文件定义顺序为:HD、SD、WD、RD
3.1.1. HD(Host Define)
hd=default,vdbench=/opt/vdbench50407,user=root,shell=ssh
hd=hd1,system=node1
hd=hd2,system=node2
hd=hd3,system=node3
hd: 标识主机定义的名称,多主机运行时,可以使用 hd1、hd2、hd3...区分。通常情况下hd=default是定义 hd 共同参数。如果某个 hd 定义需要定义不同参数,可以在该 hd 定义中单独定义。
system: 指定主机的名称,可以是 IP 地址或者主机名。
user: slave 和 master 通信使用用户。
shell: 多主机测试时,mater 和 slave 主机间通信方式。默认值为rsh,可选值为rsh、ssh或vdbench。
当参数值为rsh时,需要配置 master 和 slave 主机 rsh 互信,考虑到 rsh 使用明文传输,安全级别不够,通常情况下不建议使用这种通信方式。
当参数值为ssh时,需要配置 master 和 slave 主机 ssh 互信,通常 Linux 主机时使用此通信方式。
当参数值为vdbench,需要在所有 slave 主机运行 vdbench rsh 启用 vdbench 本身的 rsh 守护进程,通常 Window 主机时使用此通信方式。
在单机模式下,无需定义 HD。
3.1.2. SD(Storage Define)
sd=default,lun=/dev/sdb,openflags=o_direct,threads=6
sd=sd1,hd=hd1
sd=sd3,hd=hd2
sd=sd6,hd=hd3
sd: 标识存储定义的名称。通常情况下sd=default是定义 sd 共同参数。如果某个 sd 定义需要定义不同参数,可以在该 sd 定义中单独定义。
hd: 标识主机定义的名称。
lun: 写入块设备,linux 使用 sdb 盘,则指定路径为/dev/sdb;windows 使用 G 盘,则指定路径为\.\G:。
openflags: 通过设置为 o_direct 或 directio,以无缓冲缓存的方式进行读写操作。
threads: 对 SD 的最大并发 I/O 请求数量。
对于裸盘测试,设置线程数必须通过 SD 的 threads 参数定义,不能通过 WD 的 threads 参数定义,因为二者代表的含义不同。但是对于文件系统测试而言,只能通过 FWD 的 threads 参数设置线程数,因为 FSD 没有 threads 参数。
3.1.3. WD(Workload Define)
wd=wd1,sd=sd*,seekpct=100,rdpct=100,xfersize=8k,skew=40
wd=wd2,sd=sd*,seekpct=100,rdpct=0,xfersize=8k,skew=10
wd=wd3,sd=sd*,seekpct=100,rdpct=100,xfersize=1024k,skew=40
wd=wd4,sd=sd*,seekpct=100,rdpct=0,xfersize=1024k,skew=10
wd: 标识工作负载定义的名称。
sd: 标识存储定义的名称。
seekpct: 可选值为 0 或 100(也可使用 sequential 或 random 表示),默认值为 100,随机寻道的百分比,设置为 0 时表示顺序,设置为 100 时表示随机。
rdpct: 读取请求占请求总数的百分比,设置为 0 时表示写,设置为 100 时表示读。
xfersize: 要传输的数据大小。默认设置为 4k。
skew: 非必选项,一般在多个工作负载时需要指定,表示该工作负载占总工作量百分比(skew 总和为 100)。
