一、 概述
1.1 内容简介
Vdbench 是一个命令行使用程序,旨在帮助工程师和客户生成用于验证存储性能和存储数据完
整性的磁盘 I/O 负载。还可通过输入文本文件指定 Vdbench 执行参数。它是一个免费的工具,容
易使用,而且常常用于测试和基准测试。
本指南向读者介绍 Vdbench 工具在在 Linux 和 Windows 平台安全使用,对快速学习该工具提
供参考。
文档包含以下内容:
1.2 产品版本
产品名称 |
版本 |
描述 |
---|---|---|
Vdbench | 5.04.07 | 性能测试工具 |
Linux 客户端 | CentOS 7.6 X64 | Linux 操作系统 |
Windows 客户端 | Windows 2012 R2 X64 | Windows 操作系统 |
1.3 读者对象
本文档主要适用于如下工程师:
二、 下载地址
官网下载链接: Vdbench Downloads
3.1 Linux 安装步骤
3.1.1 上传所需软件
使用 winscp 或者 filezilla 将所需软件上传至/root/目录下
3.1.2 配置 YUM 源安装 java 环境
检查是否已经安装 java,如已安装,请跳过本步骤(3.1.2),继续执行 3.1.3 步骤即可。
rpm -qa|grep ^java
输出如下,则说明已经安装 java。
3.1.2.1 本地 YUM 源安装(推荐)
1、如无法接入外网情况下,可考虑配置本地 YUM 源进行安装相关依赖包;使用 winscp 或者 filezilla 将 Linux 对应版本操作系统的 iso 上传至/root/目录下
|
2、安装 java
|
3.1.2.2 互联网 YUM 源安装
1、确定本机可以访问互联网
2、配置 DNS
|
3、使用系统自带 CentOS-Base.repo 配置文件即可
备注:如果没有该配置文件则可以手动新建编辑 CentOS-Base.repo 文件
|
4、安装 java
|
3.1.3 安装 Vdbench
Vdbench 无需安装,解压 vdbench50407.zip 即可。
|
3.1.4 验证 Vdbench 是否安装成功
执行以下命令检查是否安装成功:
|
看到结尾输入如下,则说明安装成功:
3.2 Windows 安装步骤
3.2.1 上传所需软件
使用远程桌面将所需软件上传至 C 盘目录下
3.2.2 安装 java
a) 双击“jre-8u241-windows-x64.exe”
b) 点击“安装”,开始安装
c) 完成安装
3.2.3 安装 Vdbench
Vdbench 无需安装,解压 vdbench50407.zip 即可。
3.2.4 验证 Vdbench 是否安装成功
win + R,打开命令行窗口
依次进入到 Vdbench 所在的文件夹,执行.\vdbench -t
看到结尾输入如下,则说明安装成功:
四、 常用参数详解
4.1 块设备常用参数
4.1.1 主机定义(HD)
hd:主机定义
system= IP 地址或网络名称
4.1.2 存储定义(SD)
sd= 标识存储的名称。
host= 存储所在的主机的 ID。
lun= 原始磁盘、磁带或文件系统的名称。Vdbench 也可为您创建一个磁盘。
threads= 对 SD 的最大并发 I/O 请求数量。默认为 8。
hitarea= 调整读取命中百分比的大小。默认为 1m
openflags= 用于打开一个 lun 或一个文件的 flag_list
4.1.3 工作负载定义(WD)
wd= 标识工作负载的名称
sd= 要使用的存储定义的 ID
host= 要运行此工作负载的主机的 ID。默认设置为 localhost
rdpct= 读取请求占请求总数的百分比,为 100,则为读;为 0,则为写。
rhpct= 读取命中百分比。默认设置为 0。
whpct= 写入命中百分比。默认设置为 0。
xfersize= 要传输的数据大小。默认设置为 4k。
seekpct= 随机寻道的百分比。可为随机值,为 0 则为顺序;为 100 则为随机。
4.1.4 工作负载定义(RD)
rd= 标识运行的名称。
wd= 用于此运行的工作负载的 ID。
iorate= 一个或多个 I/O 速率XSKY Vdbench 工具安装使用标准文档
interval=报告间隔序号
elapsed= time:以秒为单位的运行持续时间。默认设置为 30。
warmup= time:加热期,最终会被忽略
4.2 文件系统常用参数
4.2.1 主机定义(HD)
hd:主机定义
system= IP 地址或网络名称
4.2.2 文件存储定义(FSD)
fsd= 标识文件系统定义的名称
anchor= 将在其中创建目录结构的目录
width= 要在定位符下创建的目录数
depth= 要在定位符下创建的级别数
files= 要在最低级别创建的文件数
sizes=将创建的文件大小
openflags= 用于打开一个 lun 或一个文件的 flag_list
4.2.3 文件工作负载定义(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。
选择要执行的单个文件操作。
threads= 此工作负载的并发线程数量。每个线程需要至少 1 个文件。
4.2.4 运行定义(RD)
rd= 标识运行的名称。
fwd= 要使用的文件系统工作负载定义的 ID。
interval=报告间隔序号
fwdrate= 每秒执行的文件系统操作数量。
format= yes / no / only / restart / clean / directories。在开始运行之前要执行的操作。
yes:是每次都会先删除目录文件,再重新创建
restart:每次起的时候会先校验文件、目录是否全,不全的补上
elapsed= time:以秒为单位的运行持续时间。
五、 使用方法
5.1 Linux 使用方法
|
5.2 Windows 使用方法
|
六、 常用测试脚本
6.1 Linux 常用测试脚本
6.1.1 块存储常用测试脚本
|
6.1.2 文件存储常用测试脚本
|
fsd=fsd1,anchor=/testing_dir,depth=1,width=1,file=100000,size=10m,openflags=o_direct
fwd=fwd1,fsd=fsd1,operation=read,xfersize=1m,fileio=random,fileselect=random,threads=64
rd=rd1,fwd=fwd1,fwdrate=max,format=no,forrdpct=(0),elapsed=120,interval=2,pause=1m
6.2 Windows 常用测试脚本
6.2.1 块存储常用测试脚本
|
6.2.2 文件存储常用测试脚本
|
七、 测试结果解读
7.1 输出结果
最后输出结果如下,则说明测试完成:
Vdbench execution completed successfully. Output directory: /root/vdbench50407/output
7.2 输出文件说明
每次运行后,Vdbench 会创建一个包含以下文件的 output 文件夹:
7.3 summary.html 文件说明
7.3.1 块存储 sunmary.html 说明
|
7.3.2 文件存储 sunmary.html 说明
|