大家好,又见面了,我是你们的朋友全栈君。
vdbench是一个 I/O 工作负载生成器,用于验证数据完整性和度量直接附加和网络连接的存储的性能。它是一个免费的工具,容易使用,而且常常用于测试和基准测试。
可以使用vdbench测试磁盘和文件系统的读写性能。
环境:Ubuntu 16.04
一、安装Java
vdbench的运行需要依赖于java,先查看主机是否装有java:
java -version
在当前主机中,没有java,但是系统给出了如下的提示内容:
sudo apt install default-jre
sudo apt install openjdk-11-jre-headless
sudo apt install openjdk-8-jre-headless
sudo apt install openjdk-9-jre-headless
安装第一项:
sudo apt install default-jre
测试java是否安装成功:
二、安装vdbench
下载地址:https://www.oracle.com/technetwork/server-storage/vdbench-downloads-1901681.html
下载下来解压即可,下载过程可能比较麻烦,需要Oracle账号之类的,没有就创建一个吧。
测试vdbench的可用性:
./vdbench -t
三、vdbench的使用
在上面可以看到在vdbench的目录中,有以及examples目录。进入examples目录学习它提供的案例,以此来了解使用方式:
可以使用cat命令查看里面的内容。
测试运行案例:
在查看之前,随便选择一个案例来进行运行测试试一试,例如examples/filesys/create_files:
sudo ./vdbench -f examples/filesys/create_files
直接使用测试案例,能够运行成功,再来使用cat指令,或者打开文件查看里面的内容。
cat create_files
主要内容如下:
fsd=fsd1,anchor=/dir,depth=1,width=1,files=10000,size=8k
fwd=fwd1,fsd=fsd1,operation=read,threads=16
rd=rd1,fwd=fwd*,fwdrate=100,format=yes,elapsed=5,interval=1
可以将anchor=/dir 改为具体的测试目录或者说是挂载点。
例如我把目录改为:/mnt/vdb
将create_files拷贝一份命名为sweeneil:
运行一下来测试:
运行成功。
四、vdbench参数介绍
来源:https://www.cnblogs.com/AgainstTheWind/p/9869513.html
对于一个文件系统,配置以下参数:
1、HD:主机定义
- 与虚拟块设备相同
2、FSD:文件系统定义
- fsd= 标识文件系统定义的名称
- anchor= 将在其中创建目录结构的目录
- width= 要在定位符下创建的目录数
- depth= 要在定位符下创建的级别数
- files= 要在最低级别创建的文件数
- sizes= (size,size,…) 将创建的文件大小
- distribution= bottom(如果希望仅在最低级别创建文件)和 all(如果希望在所有目录中创建文件)
- openflags= 用于打开一个文件系统 (Solaris) 的 flag_list
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。选择要执行的单个文件操作。
- rdpct= (仅)读取和写入操作的百分比。
- threads= 此工作负载的并发线程数量。每个线程需要至少 1 个文件。
4、RD:运行定义
- fwd= 要使用的文件系统工作负载定义的 ID。
- fwdrate= 每秒执行的文件系统操作数量。
- format= yes / no / only / restart / clean / directories。在开始运行之前要执行的操作。
- yes:是每次都会先删除目录文件,再重新创建
- restart:每次起的时候会先校验文件、目录是否全,不全的补上
- no:不校验文件目录直接跑,事先最好将文件灌好
参考
[1]. vdbench
[2]. vdbench的使用教程——裸盘测试和文件系统测试. https://blog.csdn.net/u012114090/article/details/81626430
[3]. vdbench 参数详解. https://blog.csdn.net/yuanfang_way/article/details/79296293
更新
vdbench官方指导文档:https://www.oracle.com/technetwork/server-storage/vdbench-1901683.pdf
这个文档里面写得比较详细,如果还不是很明确,可以查看此文档~
emmm~好吧,我又发现了其实在源码里面就有vdbench的说明文档,文档内容很详细,要是早知道这个文档就好了!!!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144253.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...