vdbench使用
2015-06-14 22:07
423 查看
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'.
20:30:42.594 input argument scanned: '-fparmfile.html'
20:30:43.586
Starting slave: /var/www/html/vdbench504/vdbench SlaveJvm -m localhost
-n localhost-10-150614-20.30.42.326 -l localhost-0 -p 5570
20:30:44.823 All slaves are now connected
20:30:48.006 Starting RD=run1; I/O rate: 100; elapsed=10; For loops: None
Jun 14, 2015 interval i/o MB/sec bytes read resp read write resp resp queue cpu% cpu%
rate 1024**2 i/o pct time resp resp max stddev depth sys+u sys
20:30:49.456 1 92.00 0.36 4096 100.00 0.047 0.047 0.000 0.313 0.057 0.0 64.4 21.5
20:30:50.142 2 97.00 0.38 4096 100.00 0.032 0.032 0.000 0.227 0.035 0.0 50.0 10.0
20:30:51.095 3 91.00 0.36 4096 100.00 0.034 0.034 0.000 0.164 0.033 0.0 31.3 4.2
20:30:52.048 4 119.00 0.46 4096 100.00 0.030 0.030 0.000 0.280 0.037 0.0 16.5 2.1
20:30:53.088 5 90.00 0.35 4096 100.00 0.041 0.041 0.000 0.487 0.066 0.0 9.3 2.1
20:30:54.051 6 110.00 0.43 4096 100.00 0.043 0.043 0.000 0.837 0.099 0.0 17.7 2.1
20:30:55.095 7 113.00 0.44 4096 100.00 0.029 0.029 0.000 0.264 0.035 0.0 12.5 1.0
20:30:56.045 8 92.00 0.36 4096 100.00 0.034 0.034 0.000 0.299 0.043 0.0 27.8 2.1
20:30:57.145 9 95.00 0.37 4096 100.00 0.044 0.044 0.000 0.464 0.076 0.0 15.3 3.1
20:30:58.059 10 109.00 0.43 4096 100.00 0.037 0.037 0.000 0.332 0.047 0.0 20.8 2.1
20:30:58.161 avg_2-10 101.78 0.40 4096 100.00 0.036 0.036 0.000 0.837 0.057 0.0 22.1 3.1
20:30:59.153 Vdbench execution completed successfully. Output directory: /var/www/html/vdbench504/output
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
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'.
20:30:42.594 input argument scanned: '-fparmfile.html'
20:30:43.586
Starting slave: /var/www/html/vdbench504/vdbench SlaveJvm -m localhost
-n localhost-10-150614-20.30.42.326 -l localhost-0 -p 5570
20:30:44.823 All slaves are now connected
20:30:48.006 Starting RD=run1; I/O rate: 100; elapsed=10; For loops: None
Jun 14, 2015 interval i/o MB/sec bytes read resp read write resp resp queue cpu% cpu%
rate 1024**2 i/o pct time resp resp max stddev depth sys+u sys
20:30:49.456 1 92.00 0.36 4096 100.00 0.047 0.047 0.000 0.313 0.057 0.0 64.4 21.5
20:30:50.142 2 97.00 0.38 4096 100.00 0.032 0.032 0.000 0.227 0.035 0.0 50.0 10.0
20:30:51.095 3 91.00 0.36 4096 100.00 0.034 0.034 0.000 0.164 0.033 0.0 31.3 4.2
20:30:52.048 4 119.00 0.46 4096 100.00 0.030 0.030 0.000 0.280 0.037 0.0 16.5 2.1
20:30:53.088 5 90.00 0.35 4096 100.00 0.041 0.041 0.000 0.487 0.066 0.0 9.3 2.1
20:30:54.051 6 110.00 0.43 4096 100.00 0.043 0.043 0.000 0.837 0.099 0.0 17.7 2.1
20:30:55.095 7 113.00 0.44 4096 100.00 0.029 0.029 0.000 0.264 0.035 0.0 12.5 1.0
20:30:56.045 8 92.00 0.36 4096 100.00 0.034 0.034 0.000 0.299 0.043 0.0 27.8 2.1
20:30:57.145 9 95.00 0.37 4096 100.00 0.044 0.044 0.000 0.464 0.076 0.0 15.3 3.1
20:30:58.059 10 109.00 0.43 4096 100.00 0.037 0.037 0.000 0.332 0.047 0.0 20.8 2.1
20:30:58.161 avg_2-10 101.78 0.40 4096 100.00 0.036 0.036 0.000 0.837 0.057 0.0 22.1 3.1
20:30:59.153 Vdbench execution completed successfully. Output directory: /var/www/html/vdbench504/output
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多节点测试文件系统读写
- vdbench 参数详解
- vdbench 参数详解
- iOS开发--Objective-C之KVC
- 主从复制
- CMarkup类中的方法说明
- Require.js、Angular.js整合
- HDU 悼念512汶川大地震遇难同胞——老人是真饿了 (贪心)
- Java中的日志——Java.util.logging、log4j、commons-logging
- MySQL各种日期类型与整型(转)
- 磁盘碎片整理程序的原理是什么?
- Android学习8之图片按钮ImageButton
- Python Web.py与AJAX交互
- GEOINT学习(1)
- 记录在四大搜索引擎上检查网站被索引页面的总数
- 15第十五周项目一——用二进制处理学生成绩
- Java中的return语句使用总结
- Linux 网络之IP转换
- (C++)浅谈多态基类析构函数声明为虚函数
- 源泉书签增加了支持搜狗浏览器的添加书签插件