vdbench存储测试工具的安装部署

这篇具有很好参考价值的文章主要介绍了vdbench存储测试工具的安装部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

vdbench存储测试工具的安装部署

记:最近用vdbench来测试华为的NAS设备,了解学习并记录一下vdbench测试工具的使用。

一、前言

1.1 简介

vdbench测试工具是由Oracle公司推出的一款免费的,多功能的,易上手的存储测试工具。它是一个 I/O 工作负载生成器,用于验证数据完整性和度量直接附加或网络连接的存储的性能。目前,在Oracle官网上共有三个发布版本,其能够在windows和linux环境下运行,可用于测试文件系统或块设备基准性能。

1.2 获取安装包

vdbench版本包

vdbench

jdk版本包

Java 8
Java
注:需要注册Oracle账号。

二、安装部署

vdbench运行在Java环境上,因此需要先安装jdk。

2.1、Linux

检查是否安装Java环境,如已安装,跳过此步骤。通过以下命令,如有Java版本信息,则已安装好Java环境。如无,安装Java后可通过此检查。

java -version
rpm -qa | grep java
2.1.1 Yum源安装Java环境

安装Java环境可以用yum源,也可以在Oracle上下载好导入安装。推荐使用yum源安装。首先检查yum源上有没有jdk的安装包。如有,直接yum源安装包括其相关依赖包。

yum list | grep java
yum -y install <jdk版本包>
2.1.2 压缩包Java安装

首先解压jdk安装包至/home目录下。
放置解压文件的路径可自行配置。

tar -zxvf <jdk版本包.tar.gz> -C /home/

配置jdk环境变量。

echo 'JAVA_HOME=/home/<jdk版本包>' >> /root/.bashrc
echo 'PATH=$JAVA_HOME/bin:$PATH' >> /root/.bashrc
echo 'CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> /root/.bashrc
source /root/.bashrc
2.1.3 安装vdbench

vdbench存储测试工具无需安装,将版本包导入Linux即可。在Linux环境下,直接运行./vdbench 即可。

2.2、Windows

2.2.1 安装Java环境

直接安装Java即可,环境变量会自动添加。

2.2.2 安装vdbench

直接解压vdbench软件包即可,此软件无需安装。Windows下用vdbench.bat即可。之后视测试情况添加对应的参数文件。

三、常用操作指令

3.1 测试vdbench是否可以正常运行
./vdbench -t
3.2 运行测试模型
./vdbench -f {filename} -o {exportpath}

注:选项 -f 后接测试参数文件名路径,选项 -o 后接导出测试结果路径。建议两个路径均使用绝对路径。

3.3 多主机间联机测试建立rsh通信
./vdbench ssh
./vdbench rsh

注:此命令中ssh是用于Linux系统多主机联机运行vdbench时使用;rsh是用于windows系统多主机联机运行vdbench时使用,因为windows操作系统不支持ssh,因此,vdbench提供了rsh的通信方式。在目标主机上执行此工具后,vdbench将会启动一个java socket用于vdbench slave与master之间通信。

四、Linux的文件系统和块设备

Linux文件系统的组织是基于目录树结构,其中根目录位于顶层,所有其他目录和文件都是在其中嵌套的。在Linux中,文件系统也被称为挂载点,因为它们可以通过挂载到计算机上的设备来访问。
查看文件系统:

df -hT

在Linux系统中,裸盘块设备是指没有文件系统格式化的硬盘或分区。这些设备直接访问硬盘的物理块,而不是通过文件系统的抽象层。裸盘块设备通常用于数据备份、磁盘克隆和磁盘映像等操作。
查看裸盘设备:

lsblk

五、运行测试

单机测试运行vdbench对Linux上的文件系统进行读写测试。

5.1 写小文件性能测试

每层创建目录数 = width;目录深度 = depth;文件数 = files;文件大小 = size;仅在最底层创建文件。
注:anchor=测试的目录;默认为仅在最底层目录创建文件,可通过distribution参数调整。

vim creat-files

messagescan=no
fsd=fsd1,anchor=/dir,depth=2,width=10,files=100,size=8k
fwd=fwd1,fsd=fsd1,operation=read,threads=16
rd=rd1,fwd=fwd*,fwdrate=100,format=yes,elapsed=5,interval=1
5.2 删除小文件及其目录性能测试
fsd=fsd1,anchor=/dir1,depth=1,width=1,files=1000,size=8k

fwd=default,threads=16
fwd=fwd0,fsd=fsd1,operation=read
fwd=fwd1,fsd=fsd1,operation=delete
fwd=fwd2,fsd=fsd1,operation=rmdir

#Vdbench will stop after the last file has been deleted
rd=rd_delete,fwd=fwd1,fwdrate=max,elapsed=99999,interval=1
#Vdbench will stop after the last directory has been deleted
rd=rd_rmdir,fwd=fwd2,fwdrate=max,elapsed=99999,interval=1

六、测试结果

用vdbench运行测试脚本结束后,会在 -f 指定的目录下输出测试结果文件。

6.1输出文件
  • anchors.html
    锚点状态报告。如果文件系统定义(FSD)的锚定目录不存在,则会自动创建该目录。但是,不会创建其父目录。使用“create_anchors=yes”还可以包括父目录的创建。
  • config.html
    配置文件报告。主要输出关于系统存储的相关信息。
  • errorlog.html
    运行错误日志报告。当为测试启用了数据验证(-jn)时,它可包含一些数据块中的错误的相关信息
  • flatfile.html
    包含 Vdbench 生成的一种逐列的 ASCII 格式的信息。
  • format.histogram.html
  • format.html
  • fsdX.histogram.html
  • fsdX.html
  • fwdX.histogram.html
  • fwdX.html
  • histogram.html
    包含报告柱状图的响应时间、文本格式的文件。
  • localhost-0.html
  • localhost-0.stdout.html
  • localhost.html
  • localhost.var_adm_msgs.html
  • logfile.html
    包含 Java 代码写入控制台.窗口的每行信息的副本。logfile.html 主要用于调试用途。
  • parmfile.html
    显示已包含用于测试的每项内容的最终结果。
  • parmscan.html
  • skew.html
  • status.html
  • summary.html
    主要报告文件,显示为在每个报告间隔的每次运行生成的总工作负载,以及除第一个间隔外的所有间隔的加权平均值。
  • swat_mon.html
  • totals.html
    记录所有数据计算以后的平均值,通常测试结果从该文件取值,除第一个间隔外全部间隔的加权平均值
6.2 主要查看的输出文件
6.2.1 errorlog.html

当为测试启用了数据验证时,它可包含一些数据块中的错误的相关信息:
无效的密钥读取;无效的 lba 读取(一个扇区的逻辑字节地址);无效的 SD 或 FSD 名称读取;数据损坏,即使在使用错误的 lba 或密钥时;数据损坏;坏扇区等。

6.2.2 summary.html
#文件系统主要结果参数
interval:打印间隔

ReqstdOps(rate/resp):每秒处理请求的个数(速率/响应时间)

cpu%(total/sys):CPU 使用率(total/sys)

read pct:读百分比,当为0时表示写,当为100时表示读。

read(rate/resp):读(速率/响应时间ms)

write(rate/resp):写(速率/响应时间ms)

mb/sec(read/write):带宽(读/写)

mb/sec total:总的读写带宽

xfersize:平均传输大小,单位为字节B

mkdir(rate/resp):创建文件夹(速率/响应时间ms)

rmdir(rate/resp):移除文件夹(速率/响应时间ms)

create(rate/resp):创建文件(速率/响应时间ms)

open(rate/resp):打开文件(速率/响应时间ms)

close(rate/resp):关闭文件(速率/响应时间ms)

delete(rate/resp):删除文件(速率/响应时间ms)
#块存储主要结果参数
interval:打印间隔

I/O rate:每秒平均 I/O 率,读写IOPS,rd运行定义参数iorate控制。

MB sec:每秒平均带宽

bytes I/O:平均 I/O 大小,单位为字节B,能够经过wd工做负载定义参数xfersize控制

read pct:平均读百分比,当为0时表示写,当为100时表示读。

resp time:平均读写响应时间

read resp:平均读响应时间

write resp:平均写响应时间

resp max:最大响应时间 mb/sec

resp stddev:响应时间的标准偏差

queue depth:Vdbench 计算的平均 I/O 队列深度

cpu% sys+usr:CPU 使用率(sys+usr)

cpu% sys:CPU 使用率(sys)

七、参数详情

7.1vdbench相关参数
messagescan= no; yes; nodisplay; 1000(customise);
#该参数默认情况下,在Linux/Solaris上的/var/log/message每五秒钟扫描一次,以查找可能与正在运行的工作负载有关的错误消息。
#no为不扫描;yes为默认扫描;nodisplay为进行扫描,但不显示在stdout上。=1000为1000条消息后停止扫描。(默认)

elapsed= 运行时间,默认单位秒S

interval= 运行过程中测试结果打印的间隔
7.2 文件系统相关参数

对于文件系统的测试主要是配置一下参数信息,参数定义顺序为:HD、FSD、FWD、RD。

HD:主机定义

非必选项,单机运行时不须要配置HD参数,通常只有在多主机联机测试时才须要配置。

hd = localhost;    指定当前主机:

hd = label;        指定远程主机:标识主机定义的名称,多主机运行时,可使用hd1、hd2、hd3等来区分

vdbench= vdbench执行文件存放路径,当多主机存放路径不一样时,可在hd定义时单独指定

system = IP地址或网络名称

user= slave和master通讯使用用户

clients = 用于模拟服务器的正在运行的客户端数量

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:文件系统定义
fsd= 标识文件系统定义的名称,多文件系统时(fsd1、fsd2、fsd3…),可以指定default(将相同的参数作为所有fsd的默认值)

anchor= 将在其中创建目录结构的目录,即输出文件信息的测试目录

width= 要在定位符下创建的目录数

depth= 要在定位符下创建的级别数

files= 要在最低级别创建的文件数

sizes= (size,size,...) 将创建的文件大小

distribution= bottom(仅在最低级别创建文件)和 all(在所有目录中创建文件)

openflags= 用于打开一个文件系统 (Solaris) 的 flag_list

shared= 可选值为yes或no,默认值为no,通常只有在多主机联机测试时指定
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= 读取和写入操作的百分比。可选值为0~100,读操作占比百分比,通常混合读写时须要指定,当值为60时,则混合读写比为6:4

threads= 此工作负载的并发线程数量。每个线程需要至少 1 个文件
RD:运行定义
rd= 标识文件系统运行定义的ID。

fwd= 要使用的文件系统工作负载定义的 ID

fwdrate= 每秒执行的文件系统操作数量。可选max,表示不作任何限制,按照最大强度自适应。

format= yes / no / only / restart / clean / directories。在开始运行之前要执行的操作。
(no是不改变文件目录;yes是改变;restart是接着原来的文件目录再去创建;)

operations= 覆盖 fwd 操作。选项相同

elapsed= 指定每次运行的运行时间(以秒为单位)。默认值为30。

interval= 此参数指定每个报告间隔的持续时间(以秒为单位)。在每个报告间隔结束时,将报告已收集的所有统计数据。注意:例如在周末进行长时间跑步时,报告的详细数据量可能会变得过多。间隔持续时间长一些可能更为合适,例如60秒。但是,如果您的存储设备性能不佳,似乎永远无法达到稳定的工作负载I/O速率,则可能需要选择尽可能低的报告间隔。报告间隔越长,就越能隐藏可能出现的性能问题。如果要限制输出量,请参见report=no_sd_tail参数。
7.3 块设备相关参数

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

HD:主机定义

非必选项,单机运行时不须要配置HD参数,通常只有在多主机联机测试时才须要配置。

hd = localhost;    指定当前主机:

hd = label;        指定远程主机:标识主机定义的名称,多主机运行时,可使用hd1、hd2、hd3等来区分

vdbench= vdbench执行文件存放路径,当多主机存放路径不一样时,可在hd定义时单独指定

system = IP地址或网络名称

user= slave和master通讯使用用户

shell= 可选值为rsh、ssh或vdbench,默认值为rsh,多主机联机测试时,mater和slave主机间通讯方式。

SD:存储定义
sd= 标识存储定义的名称

hd= 标识主机定义的名称

lun= 写入块设备,如:/dev/sdb1

openflags= 经过设置为o_direct,以无缓冲缓存的方式进行读写操做

threads= 对SD的最大并发I/O请求数量
WD:工作负载定义
wd= 标识工做负载定义的名称

sd= 标识存储定义的名称

seekpct= 可选值为0或100(也可以使用sequential或random表示),默认值为100,随机寻道的百分比,设置为0时表示顺序,设置为100时表示随机。

rdpct= 读取请求占请求总数的百分比,设置为0时表示写,设置为100时表示读

xfersize= 要传输的数据大小。默认设置为4k

skew= 非必选项,通常在多个工做负载时须要指定,表示该工做负载占总工做量百分比(skew总和为100)
RD:运行定义
rd= 标识运行定义的名称

wd= 标识工做负载定义的名称

iorate= 工作负载的固定I/O速率。经常使用可选值为100、max;

warmup= 预热时间(单位为秒),默认状况下vdbench会将第一个时间间隔输出数据排除在外,程序在预热时间内的测试不归入最终测试结果中(即预热结束后,才开始正式测试)

maxdata= 读写数据大小,一般状况下,当运行elapsed时间后测试结束;当同时指定elapsed和maxdata参数值时,以最快运行完的参数为准(即maxdata测试时间小于elapsed时,程序写完elapsed数据量后结束)
#当参数值为100如下时,表示读写数据量为总存储定义大小的倍数(如maxdata=2,2个存储定义(每一个存储定义数据量为100G),则实际读写数据大小为400G)
#当参数值为100以上时,表示数据量为实际读写数据量(可使用单位M、G、T等)

format= 预先格式化目录和文件结构;默认值:no;
选项:no;yes;restart;only;dir;clean;once;limited;complete; 

elapsed= 指定每次运行的运行时间(以秒为单位)。默认值为30。

interval= 此参数指定每个报告间隔的持续时间(以秒为单位)。

注:更加详细的参数信息请参考vdbench目录下的vdbench.pdf文件。文章来源地址https://www.toymoban.com/news/detail-734236.html

到了这里,关于vdbench存储测试工具的安装部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 记录自己安装文件系统性能测试工具——IOZone过程

    测试环境: 安装IOZone环境 源码编译安装 ​ 下载源码: ​ 解压编译: 添加环境变量(可选) 执行如下命令,查看IOZone版本 ​ 返回内容如下所示,表示安装已经完成: 运行 ​ 参数说明: 1)自动测试示例 ​ 返回结果: ​ 其中IOZone输出的第一组包含标题信息,其中显示有

    2024年01月19日
    浏览(52)
  • Linux内存压力测试工具 StressAppTest安装及使用

    StressAppTest 是一个免费且开源的命令行内存测试工具,它已经被Google使用过一段时间,现在使用的协议是apache 2.0。 它会将处理器和I/O到内存的数据塞满,从而创建一个真实的高负载场景去测试电脑内存。 Debian, Ubuntu, Linux Mint Fedora, RHEL, Rocky Linux Gentoo Linux openSUSE Linux Arch,Manjaro L

    2024年04月12日
    浏览(39)
  • 压力测试工具 Jmeter 如何下载安装及使用教程

    两种下载方式: 官网下载地址(不推荐) :Apache JMeter - Download Apache JMeter ​ jemter腾讯下载地址(推荐): https://mirrors.cloud.tencent.com/apache/jmeter/ 安装前的准备工作: 查看本地环境是否已经安装并配置了jdk 默认优秀的你和我一样万事俱备了。开始安装(简单) 解压下载的文

    2023年04月16日
    浏览(68)
  • windows配置测试工具jmeter和jdk安装

    jmeter是用java语言编写的,运行的时候需要一个java的运行环境,所以首先要完成jdk环境的安装。 JMeter是什么? Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动

    2023年04月13日
    浏览(50)
  • uiautomator2的安装,使用,在浏览器中查看页面的信息,简单快捷的ui测试工具,app测试工具(一)

    命令行中输入 即可在浏览器看到弹出的窗口,里面就是对应的模拟器信息 在这里可以指定模拟器设备,可以在cmd中使用 adb devices命令查看 connect按钮是连接模拟器,一般只用点一次,或者在换设备时点。 Dump Hierarchy是更新页面,也就是在模拟器里点击事件后,在浏览中点du

    2024年02月13日
    浏览(139)
  • 服务器带宽测试工具:iPerf的安装与使用

    Linux 环境安装及相关使用命令: 一、安装 iperf3 1、 yum 安装 2、其他操作系统可以下载官网的软件包 下载完成后可以通 rpm -ivh 进行安装。 官网地址: https://iperf.fr/iperf-download.php 二、服务端启动命令 1、开启 ipert3 服务器端 2、客户端测速命令 举个例子: Windows 环境安装及相关

    2024年02月07日
    浏览(64)
  • 【DockerCE】使用Docker安装运行性能测试工具-RunnerGo

    一、安装环境 CentOS-7.9 / Docker-CE-23.0.1 / Docker-compose-2.17.2 二、资源配置 4核8G(官方建议8核16GB) 三、安装运行 从Github下载安装所需的文件包(版本1.0.3),这里选择的是tar.gz包  将压缩包里面的runnergo目录上传到本地虚拟机/data目录下,目录结构如下所示: 备注:runnergo.yaml是

    2023年04月23日
    浏览(52)
  • Linux环境安装iperf3(网络性能测试工具)

    iperf官网地址: iPerf - The TCP, UDP and SCTP network bandwidth measurement tool   iperf特性: 测量带宽 报告MSS/MTU大小和观察到的读数大小。 通过套接字缓冲区支持TCP窗口大小。 UDP 客户端可以创建指定带宽的UDP流。 测量数据包丢失 测量延迟抖动 支持多播 跨平台:Windows、Linux、Android、

    2024年02月03日
    浏览(46)
  • 单元测试自动生成工具Evosuite的安装使用

    1.1介绍 官网: https://www.evosuite.org/ GitHub: https://github.com/EvoSuite 1.2安装插件 (1)直接安装 进入settigs中,点击plugins,搜索Evosuite,点击安装 (2)从官网下载安装 打开网页 https://plugins.jetbrains.com/plugin/18956-evosuite-xenoamess-tpm-/versions ,点击Download按钮下载插件。 选择菜单File

    2024年02月03日
    浏览(50)
  • 【APP渗透测试】Android APK常用测试工具(Drozer)安装及使用方法介绍

    本篇文章主要介绍 Drozer Android测试工具的安装以及简单使用,后续会持续更新更多使用方法。 Drozer 是 MWR Labs 开发的一款Android安全测试框架。是目前最好的Android安全测试工具之一。其官方文档说道: Drozer允许你一个普通Android应用的身份与其他应用和操作系统交互。 在Web世界

    2024年02月16日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包