vdbench(一)

vdbench(一)vdbench是一个I/O工作负载生成器,用于验证数据完整性和度量直接附加和网络连接的存储的性能。它是一个免费的工具,容易使用,而且常常用于测试和基准测试。1.安装需要安装jdk到oracel下载vdbench504;不需要安装,直接以绝对路径执行就可以建议解压到/var/www/html/vdbench#unzipvdbench504-d/var/www/html/vdb…

大家好,又见面了,我是你们的朋友全栈君。

vdbench是一个 I/O 工作负载生成器,用于验证数据完整性和度量直接附加和网络连接的存储的性能。它是一个免费的工具,容易使用,而且常常用于测试和基准测试。
1.安装
需要安装jdk 
到oracel下载vdbench504;不需要安装,直接以绝对路径执行就可以
建议解压到/var/www/html/vdbench
#unzip vdbench504 -d  /var/www/html/vdbench

2.使用
./vdbench -t 
这一步先测试一下工具能不能用,如何正常,会在目录下自动生成一个output
./vdbench -f parmfile
根据指定配置文件测试
这里的parmfile需要根据测试环境修改,可以参考output目录下的parmfile

样例:
dd if=/dev/zero  of=/tmp/disk1 bs=4 count=1M
vim parmfile
sd=sd1,lun=/tmp/disk1 size=4m
wd=wd1,sd=sd1,xfersize=4096,readpct=100
rd=run1,wd=wd1,iorate=100,elapsed=10,interval=1

[root@localhost vdbench504]# ./vdbench -f parmfile.html 
Vdbench distribution: vdbench504
For documentation, see ‘vdbench.pdf’.

 

3.参数说明

对于一个虚拟块设备,配置以下参数:

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。

对于一个文件系统

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

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 操作。选项相同。

 

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

每次运行后,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) 中来创建性能图表。 

    •  

个人总结:
1。指定一个分区报错
Slave localhost-0 aborting: On Linux ‘openflags=o_direct’ is required for any lun starting with ‘/dev/’: /dev/sdb1

解决方法
在lun后面加上openflags=o_direct
 sd=sd1,lun=/dev/sdb1,openflags=o_direct

 

使用 vdbench 来测试原始磁盘和文件系统。它有一个 Web 用户界面可显示详细的性能报告。vdbench 由 Sun Microsystems 的 Henk Vandenbergh 开发,以前称为 StorageTek。vdbench 是使用 Java? 编写的。它在 Solaris、Windows、HP-UX、AIX、Linux、Mac OS X、zLinux 和原生 VMware 上经过了测试。

1.先将以下4个文件准备好:

jdk-6u3-Linux-i586-rpm.bin

Parmfile

vdbench502.tar

Vdbench使用指导书.doc

2.在linux下建立一个文件夹,为vdbench

3.将上面的4个文件copy到刚才建立的文件建vdbench中。

4.安装jdk – jdk-6u3-linux-i586-rpm.bin

先赋予权限:chmod 755 *

在执行:./jdk-6u3-linux-i586-rpm.bin

执行该命令后,会让你阅读协议,一直点击回车到最后,输入yes或者y,同意协议。

5.解压tar包: tar  -xvf  vdbench502.tar

6.执行命令:./vdbench -t。对vdbench进行测试

最后输出: Vdbench execution completed successfully. Output directory: /root/vdbench/output。表示执行测试成功。

7.使用命名: vi parmfile 。进入文件,对里面的参数进行修改。

8.保存parmfile文件后。执行命令:./vdbench -f parmfile。就能达到效果了。

http://blog.chinaunix.net/uid-29163607-id-4855449.html

http://pt.findeen.com/vdbench使用指导书.html

2.

 

编辑测试脚本:

 

 

脚本内容:

(可按实际测试要求更改)

 

sd=sd1,lun=/dev/sdk,threads=64,range=(100g,150g)

或者

range=(30,50)

容量百分比

 

wd=wd1,sd=sd*,seekpct=seq,rdpct=100,xfersize=1M,openflags=o_direct 

rd=rd1,wd=wd*,elapsed=120,interval=1,iorate=max 

若是跑文件系统,先要挂载,之后在挂载的盘上建立文件,之后把脚本里的

lun=/mnt/***

就可以了

 

 

sd

:存储描述,定义测试磁盘。

 

lun

:定义测试磁盘为

/dev/sdk

 

threads

:定义并行测试进程为

64

进程。

 

wd

:工作描述,定义策略。

 

sd

:使用之前定义过的

sd

 

seekpct

:定义顺序

(seq)

或随机

(random)

 

rdpct

定义读写比率:

100

100%

读,

100%

写。

 

xfersize

:定义测试文件块大小。

 

openflags=o_direct

:遍历整个磁盘(测试裸设备时使用)

 

 

rd

:运行描述,定义运行方式:

 

 

 

 

wd

:使用之前定义过的

wd

 

 

 

 

elapsed

:定义测试时间(

120

秒)。

 

 

 

 

interval

:测试结果刷新频率(

1

秒钟刷新一次测试结果)。

 

 

 

 

iorate=max

:运行最大

io

性能

 

可以更改测试磁盘、读写策略、块大小、测试时间及刷新频率来进行不同方式的测试。

 

 

注:默认

vdbench503rc5x

目录下的

examples

里有示例,可以按照示例更改测试脚本。

 

3.

 

开始运行测试:

 

vdbench503rc5x

目录下直接运行

 

./vdbench 

测试脚本

 

结果输出文件存放

 

 

在目录下可能需要权限:

chmod 

 

777 

 

vdvench 

转载于:https://www.cnblogs.com/cmlaiweno/p/6725345.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144550.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月19日 上午11:00
下一篇 2022年5月19日 上午11:00


相关推荐

  • linux常用命令汇总_unix命令大全

    linux常用命令汇总_unix命令大全目录一、进程管理二、系统信息三、关机(系统的关机、重启以及登出)四、文件和目录五、文件搜索六、挂载一个文件系统七、磁盘空间八、系统负载–top九、用户和群组十、文件的权限-使用”+”设置权限,使用”-“用于取消十一、文件的特殊属性-使用”+”设置权限,使用”-“用于取消十二、打包和压缩文件十三、OS包管理器①、RPM包-(Fedora,Redhat及类似系统)②、YUM软件包升级………

    2026年2月24日
    7
  • strlen函数用法举例(strlen字符串)

    strlen(char*)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个’\0’,如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到’\0’停止。charaa[10];cout<charaa[10]={‘\0’};cout<charaa[10]=”jun”;cout<而sizeof()返回的是变量声明后所占的内存数,不是实际长…

    2022年4月13日
    62
  • 决策树分类(decision tree classification)和python实现

    决策树分类(decision tree classification)和python实现决策树分类很符合人类分类时的思想 决策树分类时会提出很多不同的问题 判断样本的某个特征 然后综合所有的判断结果给出样本的类别 例如下图的流程即为一个典型的决策树分类的流程图 这个流程图用来简略的判断一个小学生是否学习很好 当然这里只是举个例子 现在的小学生可是厉害的不行了 这点评判标准完全不够看啊 说白了决策树就是 ifelse 的堆砌 是一个树形结构 我们在构建决策树分类器的时候主要关

    2026年3月19日
    2
  • java书籍借阅系统_基于JAVA的图书借阅管理系统-.doc[通俗易懂]

    摘要各单位图书资料,传统的图书管理方已无法适应形势需,用计算机发图书资管理系统地查询、修改和维护相关信图书馆拥有丰富的文献信息资源,是社会信息系统的重要组成部分,在信息社会中的作用愈来愈重要。JAVA环境下连接数据库的并提取信息的一个管理信息系统的过程。通过对图书管理的调查和需求分析,创建了一套行之有效的计算机管理图书馆的方案。文章详细介绍了该系统的各个部分的功能,包括图书管理,学生管理,借阅…

    2022年4月12日
    50
  • pycharm2021.12.12激活-激活码分享

    (pycharm2021.12.12激活)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月30日
    122
  • snappy流式编解码总结

    snappy流式编解码总结介绍 snappy 是谷歌开源的用于数据快速压缩和解压的程序库 它的目标并非实现最大压缩率 而是同时实现非常高的压缩速度和合理的压缩率 snappy 被广泛应用于 google 内部和开源的项目中 例如 Hadoop LevelDB Spark 官方库地址 https github com google snappy 由于最近的工作需要 发现 snappy 还实现了两个变种 这两个变种分别实现了 snappy 算法在本地文件系统和 hadoop 中的流式编解码 以下分别称之为 snappystream 和 hadoop

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号