vdbench 配置参数说明

文件系统参数文件定义顺序:HD FSD FWD RD

HD(Host Define):主机定义,在多主机联机测试时需要配置

  • 配置案例
    hd=default,vdbench=/root/vdbench50406,user=root,shell=ssh
    hd=hd1,system=node241
    hd=hd2,system=node242
    hd=hd3,system=node243
    
    • hd= 标识主机定义的名称,多主机运行时,可以使用hd1、hd2、hd3...区分
    • system= 主机IP地址或主机名
    • vdbench= vdbench执行文件存放路径,当多主机存放路径不同时,可在hd定义时单独指定
    • user= slave和master通信使用用户
    • shell= 可选值为rsh、ssh或vdbench,默认值为rsh,多主机联机测试时,mater和slave主机间通信方式 当参数值为rsh时,需要配置master和slave主机rsh互信,考虑到rsh使用明文传输,安全级别不够,通常情况下不建议使用这种通信方式,当参数值为ssh时,需要配置master和slave主机ssh互信,通常Linux主机联机时使用此通信方式,当参数值为vdbench,需要在所有slave主机运行vdbench,rsh启用vdbench本身的rsh守护进程,通常Window主机联机时使用此通信方式

FSD(File System Define)

  • 配置案例
    fsd=default,depth=2,width=3,files=2,size=128k
    fsd=fsd1,anchor=/mnt/client1
    fsd=fsd2,anchor=/mnt/client2
    fsd=fsd3,anchor=/mnt/client3
    
    • fsd= 标识文件系统定义的名称,多文件系统时(fsd1、fsd2、fsd3...),可以指定default(将相同的参数作为所有fsd的默认值)
    • anchor= 文件写入根目录
    • depth= 创建目录层级数(即目录深度)
    • width= 每层文件夹的子文件夹数
    • files= 测试文件个数(vdbench测试过程中会生成多层级目录结构,实际只有最后一层目录会生成测试文件)
    • size= 每个测试文件大小
    hd=default,vdbench=/root/vdbench50406,user=root,shell=ssh
    hd=hd1,system=node1
    hd=hd2,system=node2
    hd=hd3,system=node3
    fsd=fsd1,anchor=/client/,depth=2,width=100,files=100,size=4k,shared=yes
    
    • shared= 可选值为yes或no,默认值为no,一般只有在多主机联机测试时指定vdbench不允许不同的slave之间共享同一个目录结构下的所有文件,因为这样会带来很大的开销,但是它们允许共享同一个目录结构。加入设置了shared=yes,那么不同的slave可以平分一个目录下所有的文件来进行访问,相当于每个slave有各自等分的访问区域,因此不能测试多个客户的对同一个文件的读写
    • 当多主机联机测试时,写入的根目录anchor为同一个路径时,需要指定参数值为yes

FWD(FileSystem Workload Define)

  • 配置案例
    fwd=default,operation=read,xfersize=4k,fileio=sequential,fileselect=random,threads=2
    fwd=fwd1,fsd=fsd1,host=hd1
    fwd=fwd2,fsd=fsd2,host=hd2
    fwd=fwd3,fsd=fsd3,host=hd3
    
    • fwd= 标识文件系统工作负载定义的名称,多文件系统工作负载定义时,可以使用fwd1、fwd2、fwd3...区分
    • fsd= 标识此工作负载使用文件存储定义的名称
    • host= 标识此工作负载使用主机
    • operation= 可选值为read或write,文件操作方式
    • rdpct= 可选值为0~100,读操作占比百分比,一般混合读写时需要指定,当值为60时,则混合读写比为6:4
    • fileio= 可选值为random或sequential,标识文件 I/O 将执行的方式
    • fileselect= random或sequential,标识选择文件或目录的方式
    • xfersizes= 数据传输(读取和写入操作)处理的数据大小(即单次IO大小)
    • threads= 此工作负载的并发线程数量

RD(Run Define)

  • 配置案例 rd=rd1,fwd=(fwd1-fwd3),fwdrate=max,format=restart,elapsed=604800,interval=10
    • rd= 标识文件系统运行定义的名称。
    • fwd= 标识文件系统工作负载定义的名称。
    • fwdrate= 每秒执行的文件系统操作数量。设置为max,表示不做任何限制,按照最大强度自适应
    • format= 可选值为yes、no或restart,标识预处理目录和文件结构的方式
    • --yes表示删除目录和文件结构再重新创建
    • --no表示不删除目录和文件结构
    • --restart表示只创建未生成的目录或文件,并且增大未达到实际大小的文件
    • elapsed= 默认值为30,测试运行持续时间(单位为秒)
    • interval= 结果输出打印时间间隔(单位为秒)

性能指标

  • ReqstdOps

    • rate
      • 每秒读写I/O个数(读写IOPS),能够经过rd运行定义参数fwdrate控制
      • 当fwdrate为max时,以最大I/O速率运行工做负载
      • 当fwdrate为低于最大I/0速率的一个数值时,能够限制读写速度,以固定I/O速率运行工做负载
    • resp
      • 读写请求响应时间(读写时延),单位为ms
  • cpu%

    • tatol
      • 总的cpu占用率
    • sys
      • 系统cpu占用率
  • read pct

    • 读取请求占总请求数百分比占比,当为0时表示写,当为100时表示读
  • read

    • rate
      • 每秒读I/O个数(读IOPS)
    • resp
      • 读请求响应时间(读时延),单位为ms
  • write

    • rate
      • 每秒写I/O个数(写IOPS)
    • resp
      • 写请求响应时间(写时延),单位为ms
  • mb/sec

    • read
      • 每秒读取速度
    • write
      • 每秒写入速度
  • total

    • 每秒读写速度总和
  • xfersize

    • 每一个读写I/O传输数据量(即单个读写I/O大小),单位为字节B

块设备参数文件定义顺序为:HD、SD、WD、RD

SD(Storage Define)

  • 配置案例
    sd=sd1,hd=hd1,lun=/dev/sdb,openflags=o_direct,threads=6
    sd=sd3,hd=hd2,lun=/dev/sdb,openflags=o_direct,threads=6
    sd=sd6,hd=hd3,lun=/dev/sdb,openflags=o_direct,threads=6
    
    • sd= 标识存储定义的名称
    • hd= 标识主机定义的名称
    • lun= 写入块设备,如:/dev/sdb, /dev/sdc...
    • openflags= 通过设置为o_direct,以无缓冲缓存的方式进行读写操作
    • threads= 对SD的最大并发I/O请求数量

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)

RD(Run Define)

  • 配置案例
    rd=rd1,wd=wd*,iorate=max,maxdata=400GB,warmup=30,elapse=604800,interval=5
    
    • rd= 标识运行定义的名称
    • wd= 标识工作负载定义的名称
    • iorate= 常用可选值为100、max,此工作负载的固定I/O速率
    • --当参数值为100时,以每秒100个I/Os的速度运行工作负载,当参数值设置为一个低于最大速率的值时,可以达到限制读写速度的效果
    • --当参数值为max时,以最大的I/O速率运行工作负载,一般测试读写最大性能时,该参数值均为max
    • warmup= 预热时间(单位为秒),默认情况下vdbench会将第一个时间间隔输出数据排除在外,程序在预热时间内的测试不纳入最终测试结果中(即预热结束后,才开始正式测试)
    • --当interval为5、elapsed为600时,测试性能为2~elapsed/interval(avg_2-120)时间间隔内的平均性能
    • --当interval为5、warmup为60、elapsed为600时,测试性能为1+(warmup/interval)~(warmup+elapsed)/interval(avg_13-132)时间间隔内的平均性能
    • maxdata= 读写数据大小,通常情况下,当运行elapsed时间后测试结束;当同时指定elapsed和maxdata参数值时,以最快运行完的参数为准(即maxdata测试时间小于elapsed时,程序写完elapsed数据量后结束)
    • --当参数值为100以下时,表示读写数据量为总存储定义大小的倍数(如maxdata=2,2个存储定义(每个存储定义数据量为100G),则实际读写数据大小为400G)
    • --当参数值为100以上时,表示数据量为实际读写数据量(可以使用单位M、G、T等)
    • elapsed= 默认值为30,测试运行持续时间(单位为秒)
    • interval= 报告时间间隔(单位为秒)

性能指标

  • i/o rate
    • 每秒读写I/O个数(读写IOPS),能够经过rd运行定义参数iorate控制
    • 当iorate为max时,以最大I/O速率运行工做负载
    • 当iorate为低于最大I/0速率的一个数值时,能够限制读写速度,以固定I/O速率运行工做负载
  • MB/sec
    • 每秒读写速度(读写带宽)
  • bytes i/0
    • 每一个读写I/O传输数据量(即单个读写I/O大小),单位为字节B,能够经过wd工做负载定义参数xfersize控制
  • read pct
    • 读取请求占请求总数的百分比,能够经过wd工做负载定义参数rdpct控制
    • 当rdpct为0时,表示测试模型为写
    • 当rdpct为100时,表示测试模型为读
  • resp time
    • 请求响应时间(读写时延),单位为毫秒ms
  • read resp
    • 读请求响应时间,单位为毫秒ms
  • write resp
    • 写入请求响应时间,单位为毫秒ms
  • resp max
    • 最大请求响应时间,单位为毫秒ms
  • resp stddev
    • 请求响应时间标准误差,单位为毫秒ms
  • queue depth
    • 读写I/0队列深度
  • cpu% sys+u
    • 内核态空间及用户态空间CPU占用率
  • cpu% sys
    • 内核态空间CPU占用率
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每天读点书学堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值