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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • MacOS 安装 talnet 命令[通俗易懂]

    MacOS 安装 talnet 命令[通俗易懂]/usr/bin/ruby-e”$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)”brewinstalltelnet补充:如果有开机密码,那第一行命令执行过程中可能需要输入一下。…

  • redis:Could not connect to Redis at 127.0.0.1:6379: Connection refused错误解析「建议收藏」

    redis:Could not connect to Redis at 127.0.0.1:6379: Connection refused错误解析「建议收藏」1.错误信息思考:根据错误信息的字面意思,可以知道,redis-cli客户端程序,通过ip127.0.0.1,端口6379与redis服务器建立连接失败。说明当我们调用redis-cli时,默认是用本地回环地址去与服务器端建立连接。2.解决问题思路:服务器程序会在监听一个套接字(IP+端口号),等待客户端的连接。一般运行服务器程序的时候,都会加载一个配置文件。redis服务器也会读取一个配置文件。如果不知道配置文件在哪里,可以使用:whichredis.conf#或者whe

  • MySql的root密码忘记该怎么找回

    MySql的root密码忘记该怎么找回Windows下如果MySQL密码忘记了root密码导致无法登录,如下图所示,这个时候怎么办,只能重置root密码了。1.打开任务管理器查看MySql服务是否启动,如果已启动则先将其停止2.找到MySql目录下的my.ini文件3.打开该文件,找到里面的[mysqld],然后在这个下面添加skip-grant-tables,添加完后保存文件4.重新进到任务管理器将…

  • 【Python矩阵转置】| 试使用多方法实现[通俗易懂]

    【Python矩阵转置】| 试使用多方法实现[通俗易懂]矩阵的重要性:实际存储数据通常包含有特征根或是特征向量,是重要。借助Python实现矩阵运算不可或缺。在此过程中,矩阵的转置至关重要。下为几种常见的矩阵转置方法:方法一:(直接法)#step1:#初始化原始矩阵matrix=[[1,2,3,4],[5,6,7,8],[9,10,11,12]]#通过函数指出矩阵的行与列row=len(matrix)col=len(matrix[0])#step2:#交换矩阵的行与列ROW=

  • idea快速查找快捷键_idea快捷键汇总

    idea快速查找快捷键_idea快捷键汇总1、Ctrl+N按名字搜索类相当于eclipse的ctrl+shift+R,输入类名可以定位到这个类文件,就像idea在其它的搜索部分的表现一样,搜索类名也能对你所要搜索的内容多个部分进行匹配,而且如果能匹配的自己写的类,优先匹配自己写的类,甚至不是自己写的类也能搜索。2、Ctrl+Shift+N按文件名搜索文件同搜索类类似,只不过可以匹配所有类型的文件了。3、Ctrl+H查看类的继承关系,例如HashMap的父类是AbstractMap,子类则有一大堆。4、Ctrl+Alt+B查看

    2022年10月21日
  • 网络分层架构(七/四层协议)

    网络分层架构(七/四层协议)网络分层架构业内普遍的分层方式有两种。OSI七层模型和TCP/IP四层模型。OSI七层模型:物、数、网、传、会、表、应TCP/IP四层模型:链、网、传、应1)物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的…

发表回复

您的电子邮箱地址不会被公开。

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