VdBench使用手册

VdBench使用手册
VdBench使用手册

VdBench测试指导手册

目录

1 VdBench介绍 (1)

1.1简介 (1)

2 IOmeter安装 (2)

2.1 Windows下的安装 (2)

2.2 Linux下的安装 (3)

3 VdBench使用 (4)

3.1 Vdbench运行及结果查看 (4)

3.2编写一个parmfile (4)

3.2.1块设备 (4)

3.2.2文件系统 (5)

3.3结果查看 (6)

3.4单客户运行vdbench (7)

3.5 Linux下联机运行 (8)

3.6 windows下联机运行 (9)

4官方手册 ......................................................................................................................... 错误!未定义书签。

1 VdBench介绍

1.1 简介

Vdbench 是一个命令行实用程序,旨在帮助工程师和客户生成用于验证存储性能和存储数据完整性的磁盘I/O 负载。还可通过输入文本文件指定Vdbench 执行参数。它是一个免费的工具,容易使用,而且常常用于测试和基准测试。

2 IOmeter安装

2.1 Windows下的安装

1.打开 https://www.360docs.net/doc/ff14275247.html,/technetwork/cn/server-storage/vdbench-downloads-1901681-zhs.html 并下载该工具。

2.

安装32位的JDK或JRE环境,并且设臵环境变量,如下图所示。

3.解压缩VdBench.zip,用命令行转到VdBench的目录,执行vdbench -t进行测试。如下图,即为成功:

2.2 Linux下的安装

以下是下载和在Linux下安装vdbench。

1.打开

https://www.360docs.net/doc/ff14275247.html,/technetwork/cn/server-storage/vdbench-downloads-1901681-zhs.html并下载该工

具。

2.使用WinSCP 工具将它传输到Linux主机。将它解压到Linux /var/www/html 目录。

清单3. 解压WinSCP

3 VdBench使用

3.1 Vdbench运行及结果查看

./vdbench -f parafile

parafiile为配臵文件,如果需要校验文件一致性可以可以指定-v参数,./vdbench -vf parafile。

在vdbench安装目录下面有output目录,可以查看运行及输出结果,适用于windows及linux。

3.2 编写一个parmfile

要更详细地控制工具参数,编写一个parmfile,您可在其中指定不同的选项。

3.2.1 块设备

对于一个块设备,配臵以下参数:

HD:主机定义

?如果您希望展示当前主机,则设臵hd= localhost。如果希望指定一个远程主机,hd= label。?system= IP 地址或网络名称。

?clients= 用于模拟服务器的正在运行的客户端数量。

SD:存储定义

?sd= 标识存储的名称。

?host= 存储所在的主机的ID。

?lun= 原始磁盘、磁带或文件系统的名称。vdbench 也可为您创建一个磁盘。

?threads= 对SD 的最大并发I/O 请求数量。默认为8。

?hitarea= 调整读取命中百分比的大小。默认为1m。

?openflags= 用于打开一个lun 或一个文件的flag_list。

WD:工作负载定义

?wd= 标识工作负载的名称。

?sd= 要使用的存储定义的ID。

?host= 要运行此工作负载的主机的ID。默认设臵为localhost。

?rdpct= 读取请求占请求总数的百分比。

?rhpct= 读取命中百分比。默认设臵为0。

?whpct= 写入命中百分比。默认设臵为0。

?xfersize= 要传输的数据大小。默认设臵为4k。

?seekpct= 随机寻道的百分比。可为随机值。

?openflags= 用于打开一个lun 或一个文件的flag_list。

?iorate= 此工作负载的固定I/O 速率。

RD:运行定义

?rd= 标识运行的名称。

?wd= 用于此运行的工作负载的ID。

?iorate= (#,#,...) 一个或多个I/O 速率。

?curve:性能曲线(待定义)。

?max:不受控制的工作负载。

?elapsed= time:以秒为单位的运行持续时间。默认设臵为30。

?warmup= time:加热期,最终会被忽略。

?distribution= I/O 请求的分布:指数、统一或确定性。

?pause= 在下一次运行之前休眠的时间,以秒为单位。

?openflags= 用于打开一个lun 或一个文件的flag_list。

3.2.2 文件系统

对于一个文件系统,配臵以下参数:

HD:主机定义。与虚拟块设备相同。

FSD:文件系统定义

?fsd= 标识文件系统定义的名称

?anchor= 将在其中创建目录结构的目录

?width= 要在定位符下创建的目录数

?depth= 要在定位符下创建的级别数

?files= 要在最低级别创建的文件数

?sizes= (size,size,...) 将创建的文件大小

?distribution= bottom(如果希望仅在最低级别创建文件)和all(如果希望在所有目录中创建文件)?openflags= 用于打开一个文件系统(Solaris) 的flag_list

FWD:文件系统工作负载定义

?fwd= 标识文件系统工作负载定义的名称。

?fsd= 要使用的文件系统定义的ID。

?host= 要用于此工作负载的主机的ID。

?fileio= random 或sequential,表示文件I/O 将执行的方式。

?fileselect= random 或sequential,标识选择文件或目录的方式。

?xfersizes= 数据传输(读取和写入操作)处理的数据大小。

?operation= mkdir、rmdir、create、delete、open、close、read、write、getattr 和setattr。选择要执行的单个文件操作。

?rdpct= (仅)读取和写入操作的百分比。

?threads= 此工作负载的并发线程数量。每个线程需要至少1 个文件。

RD:运行定义

?fwd= 要使用的文件系统工作负载定义的ID。

?fwdrate= 每秒执行的文件系统操作数量。

?format= yes / no / only / restart / clean / directories。在开始运行之前要执行的操作。

?operations= 覆盖fwd 操作。选项相同。

3.3 结果查看

运行之后的输出文件夹文件

每次运行后,vdbench 会创建一个包含以下文件的输出文件夹:

errorlog.html

当为测试启用了数据验证时,它可包含一些数据块中的错误的相关信息:

?无效的密钥读取

?无效的lba 读取(一个扇区的逻辑字节地址)

?无效的SD 或FSD 名称读取

?数据损坏,即使在使用错误的lba 或密钥时

?数据损坏

?坏扇区

flatfile.html

包含vdbench 生成的一种逐列的ASCII 格式的信息。

histogram.html

一种包含报告柱状图的响应时间、文本格式的文件。

logfile.html

包含Java 代码写入控制台窗口的每行信息的副本。logfile.html 主要用于调试用途

parmfile.html

显示已包含用于测试的每项内容的最终结果

resourceN-M.html、resourceN.html、resourceN.var_adm_msgs.html

?摘要报告

?stdout/stderr 报告

?主机N 的摘要报告

?最后“nn”行文件/var/adm/messages 和/var/adm/messages。每个M 个JVM/Slave 的目标主机N 和主机N 上为0。

sdN.histogram.html、sdN.html

每个N 存储定义的柱状图和存储定义“N”报告。

summary.html

主要报告文件,显示为在每个报告间隔的每次运行生成的总工作负载,以及除第一个间隔外的所有间隔的加权平均值。

?interval:报告间隔序号

?I/O rate:每秒观察到的平均I/O 速率

?MB sec:传输的数据的平均MB 数

?bytes I/O:平均数据传输大小

?read pct:平均读取百分比

?resp time:以读/写请求持续时间度量的平均响应时间。所有vdbench 时间都以毫秒为单位。

?resp max:在此间隔中观察到的最大响应时间。最后一行包含最大值总数。

?resp stddev:响应时间的标准偏差

?cpu% sys+usr:处理器繁忙= 100(系统+ 用户时间)(Solaris、Windows、Linux)

?cpu% sys:处理器利用率:系统时间

swat_mon.txt,swat_mon_total.txt

?vdbench 与Sun StorageTekTM Workload Analysis Tool (Swat) Trace Facility (STF) 相结合,支持您重放使用Swat 创建的一个轨迹的I/O 工作负载。

?Swat 使用Create Replay File 选项创建和处理的轨迹文件会创建文件flatfile.bin(flatfile.bin.gz 用于vdbench403 和更高版本),其中包含Swat 所识别的每个I/O 操作的一条记录。

?这些文件包含一个格式化的报告,可将该报告导入Swat Performance Monitor (SPM) 中来创建性能图表。

3.4 单客户运行vdbench

单客户的配臵文件:

fsd=fsd1,anchor=/tmp/yht,depth=1,width=100,files=100,size=200M

fwd=fwd1,fsd=fsd1,operation=write,xfersize=1024k,fileio=sequantial,fileselect=sequantial,threads=32 rd=rd1,fwd=fwd1,fwdrate=max,format=restart,elspsed=600,interval=10

解读:

第一行:文件系统存储定义。指定目录结构,anchor是挂载点,/tmp/yht为linux客户端,如果是windows 客户端需要改为c:\\yht,其他部分相同。depth是目录结构的深度,width是每一层目录的数量,files是每个目录下面文件的数量,size是文件大小,size=(100M,30,200M,30,1G,40)指定100M文件占30%,200M 文件占30%,1G文件占40%。

第二行:文件系统工作负载定义。fsd,指定文件系统存储定义,fsd=(fsd1-fsdn)。operation是最终操作,create是创建,write是改写,read是读,可以指定rdpct=80,意味着读写比例是80%。xfersize是文件io大小,xfersize=(4k,40,64k,40,1m,20),指定每种io所占的比例。fileio和fileselect是文件操作方式,均区分sequantial和random,threads是operation的线程数。

第三行:运行定义,执行工作强度和时长。fwd,指定文件系统工作负责,fwd=(fwd1-fwdn)。fwdrate 是每秒的操作数,max是不做限制,按最大强度自适应,也可以设臵指定大小或递增变化等。format是文件预处理参数,有三个选择,“no”不改变当前文件目录结构,"yes"是删除当前的目录结构,重新安装fsd 的要求来生成新的,"restart"是只创建那些不够的文件以及扩展那些大小不足的文件。interval是结果输出的间隔,每十秒输出一次。

上面的配臵参数意味着,使用单客户端,对/tmp/yht目录创建目录深度为1,宽度为100的目录,每个目录下面有100个200M的文件(第一行)。定义文件工作负载,指定文件系统存储定义fsd1,修改写这个目录下的文件,文件io大小为1m,线程数是32(第二行)。运行定义,指定文件系统工作负载,如果目录文件不存在就重新建立,先创建文件,接着修改写文件,持续时间为10分钟。

3.5 Linux下联机运行

1.每个客户的都需要安装vdbench,路径保持一致。

2.SSH互相,选一个客户的为父节点,把每个子节点都信任父节点。

父节点为93.93.41.5,子节点为93.93.41.6

ssh-keygen -t rsa 生成秘钥

chmod 755 /root/.ssh/ 修改生成秘钥的权限

scp /root/.ssh/id_rsa.pub 93.93.41.6:/root/.ssh/authorized_keys 拷贝公钥

3.验证SSH互信

在父节点上ssh每一个子节点,如果不需要输入秘钥就能登录,则互信成功。

4.多客户端配臵文件

hd=default,dbench=/home/Vdbench/,user=root,shell=ssh

hd=hd1,system=93.93.31.7

hd=hd2,system=93.93.41.8

hd=hd3,system=93.93.41.9

fsd=fsd1,anchor=/tmp/yht/client1,depth=2,width=100,files=2000,size=100m,shared=yes

fsd=fsd2,anchor=/tmp/yht/client2,depth=1,width=1000,files=2000,zies=(20m,40,100m,60),shared=yes fsd=fsd3,anchor=/tmp/yht/client3,depth=1000,width=1,files2000,size=1m,shared=yes

fwd=fwd1,fsd=fsd1,host=hd1,operation=read,xfersize=(1m,40,64k,60),fileio=random,fileselect=sequantial,thread s=32

fwd=fwd2,fsd=fsd2,host=hd2,operation=write,xfersize=64k,fileio=random,fileselect=sequantial,threads=32 fwd=fwd3,fsd=fsd3,host=hd3,rdpct=60,xfersize=4k,fileio=random,fileselect=sequantial,threads=32

rd=rd1,fwd=(fwd1-fwd3),fwdrate=max,format=restart,elapesed=600,interval=10

注:fsd中shared,vdbench不允许不同的slave之间共享同一个目录结构下的所有文件,因为这样会带来很大的开销,

但是它们允许共享同一个目录结构。加入设臵了shared=yes,那么不同的slave可以平分一个目录下所有的文件

来进行访问,相当于每个slave有各自等分的访问区域,因此不能测试多个客户的对同一个文件的读写。

3.6 windows下联机运行

1.安装vdbench,确保每个客户端安装目录相同。启动vdbench后台服务,用于联机运行,在子服务器vdbench安装目录下运行./vdbench rsh,用来启动后台联机服务

2.修改hosts参数,修改每主机系统盘C:\Windows\System32\drivers\etc\hosts文件,添加所有主机的ip和用户名。

3.配臵文件

hd=default,vdbench=c:\vdbench,shell=vdbench

hd=hd1,system=93.93.41.10

hd=hd2,system=93.93.41.11

hd=hd3,system=93.93.41.12

fsd=default,depth=1,width=1,files=100,size=1G,shared=yes

fsd=fsd1,anchor=m:\\yht\\client1

fsd=fsd2,anchor=m:\\yht\\client2

fsd=fsd3,anchor=m:\\yht\\client3

fwd=default,rdpct=60,xfersize=1M,fileio=random,fileselect=sequantial,threads=32

fwd=fwd1,fsd=fsd1,host=hd1

fwd=fwd2,fsd=fsd2,host=hd2

fwd=fwd3,fsd=fsd3,host=hd3

rd=rd1,fwd=(fwd1-fwd3),fwrate=max,format=restart,elapsed=60,interval=10

相关主题
相关文档
最新文档