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=8kfwd=fwd1,fsd=fsd1,operation=read,threads=16rd=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的说明文档,文档内容很详细,要是早知道这个文档就好了!!!

Linux中vdbench的安装与使用相关推荐

  1. linux中使用apt-get安装软件包的时候报错:E: Could not get lock /var/lib/dpkg/lock-frontend

    文章目录: 1 问题原因分析 2 问题解决方式 1 问题原因分析 在linux中使用apt-get安装哭包的时候,报错:E: Could not get lock /var/lib/dpkg/lock ...

  2. linux重启kvm服务命令,linux中kvm的安装及快照管理

    一.kvm的安装及状态查看 1.安装软件 yum -y install kvm virt-manager libvirt 2.启动libvirtd 报错,升级device-mapper-libs yu ...

  3. linux中字体的安装以及Terminal字体重叠问题解决

    linux中字体的安装以及Terminal字体重叠问题解决 参考文章: (1)linux中字体的安装以及Terminal字体重叠问题解决 (2)https://www.cnblogs.com/lxmw ...

  4. linux中源码安装node

    Linux上安装Node.js 直接使用已经编译好的包 node 官网已经把linux 下载版本更改为已经编译好的版本了,我们可以直接下载解压后使用: wget https://nodejs.org/ ...

  5. Linux中常用软件安装

    Linux中常用软件安装 0 软件安装命令 rpm命令 yum命令 1 JDK安装 2 Mysql安装 0 MySQL安装与卸载 (新增于 2021-06-06) 1 卸载 yum方式 rpm方式 2 ...

  6. Linux中软件的安装,vim编辑器

    文章目录 Linux中软件的安装,vim编辑器 Linux中软件的安装 vim编辑器 在线安装vim编辑器 vim的使用 vim的命令 Linux中软件的安装,vim编辑器 Linux中软件的安装 L ...

  7. Linux中虚拟机的安装详细教程

    Linux中虚拟机的安装详细教程 1 linux中虚拟机的安装 1.1 kvm安装条件 1.2 KVM虚拟化安装 1.3 KVM虚拟化相关信息 1.4 手动安装虚拟机步骤 1.5 脚本安装虚拟机 2 ...

  8. 5.3.3.tat.gz php_一步步在LINUX中源码安装PHP运行平台

    一步步在LINUX中源码安装PHP运行平台 一步步在LINUX中源码安装PHP运行平台 本人是LINUX新手, 今天我们要学习一下如何在LINUX环境下安装PHP运行环境 目标:在LINUX环境下源码 ...

  9. linux中wps默认安装目录,centos6.5 安装wps linux

    wps现在有linux版本,linux里面自带的soffice工具,又感觉比较挫,因此考虑在linux中安装wps工具,来操作excel和work文档. 安装的linux系统为64位系统的centos ...

  10. Linux 笔记 - 第九章 Linux 中软件的安装

    博客地址:http://www.moonxy.com 一.前言 在 Linux 系统中,应用程序的软件包主要分为两种: 1)第一种是二进制的可执行软件包,也就是解开包后就可以直接运行.在 Window ...

最新文章

  1. 关于TensorFlow,你应该了解这9件事(附代码链接)
  2. 对比丨深度学习库大排名:TensorFlow、Keras名列一二,Sonnet增长最快
  3. js轮播图代码_javascript基础(一)——轮播图
  4. 聊聊高并发(二十三)解析java.util.concurrent各个组件(五) 深入理解AQS(三)
  5. Angular单元测试的一个错误消息
  6. 如何卸载mysql重新安装win10_学以致用二十八-----win10安装mysql5.7.24及卸载
  7. linux下mips裸机编译,裸机交叉编译器输入
  8. 算法导论 思考题6-3(Young氏矩阵)
  9. UEditor 之初体验后记
  10. java图片转ASCII码_将图片转化成对应的Ascii字符图片
  11. Atitit mybatis的扩展使用sql udf,js java等语言 目录 1.1. 默认,mybatis使用xml,sql等语言来书写业务流程 1 2. 使用ognl调用java函数 1 3
  12. AppCompat (AppCompatActivity) Jetpack
  13. MAC 用配置设置解决vscode中文乱码问题
  14. 解析几何:第六章 二次曲面(2)抛物面 二次锥面 柱面 一般二次曲面
  15. 【网络工程】2、eNSP工具下载与安装
  16. 谷歌语法和FOFA常用语法总结
  17. python黑魔法指南_Python黑魔法大全
  18. Storm Event Imagery Dataset 数据简介
  19. 台式电脑怎么还原系统
  20. 如何使用parted划分2bt以上磁盘

热门文章

  1. 软件工程毕设项目 - 基于SSM的毕业设计管理系统(含源码+论文)
  2. win10 android 手机驱动下载,小米手机驱动win10驱动
  3. 怎样让网站显示在 Google 搜索结果中?
  4. 设计房屋租赁管理系统--PostgreSQL--数据库原理及应用
  5. 邢山虎:指责加班是特定时期的悖论,历史将予以澄清
  6. 简明python教程最新版价格_《简明Python教程》【价格 目录 书评 正版】_中国图书网...
  7. 微星主板怎么开启CPU虚拟化技术VT-X(intel和AMD)
  8. rp文件,怎么用浏览器预览
  9. 虚拟机中运行mac系统很卡
  10. Android四大组件(activity task stack)