Linux中vdbench的安装与使用

Linux中vdbench的安装与使用vdbench是一个I/O工作负载生成器,用于验证数据完整性和度量直接附加和网络连接的存储的性能。它是一个免费的工具,容易使用,而且常常用于测试和基准测试。可以使用vdbench测试磁盘和文件系统的读写性能。环境:Ubuntu16.04一、安装Javavdbench的运行需要依赖于java,先查看主机是否装有java:java-version在当前主机中,没有…

大家好,又见面了,我是你们的朋友全栈君。

vdbench是一个 I/O 工作负载生成器,用于验证数据完整性和度量直接附加和网络连接的存储的性能。它是一个免费的工具,容易使用,而且常常用于测试和基准测试。

可以使用vdbench测试磁盘和文件系统的读写性能。

环境:Ubuntu 16.04

一、安装Java

vdbench的运行需要依赖于java,先查看主机是否装有java:

java -version

Linux中vdbench的安装与使用

在当前主机中,没有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是否安装成功:

Linux中vdbench的安装与使用

二、安装vdbench

下载地址:https://www.oracle.com/technetwork/server-storage/vdbench-downloads-1901681.html

下载下来解压即可,下载过程可能比较麻烦,需要Oracle账号之类的,没有就创建一个吧。

Linux中vdbench的安装与使用

测试vdbench的可用性:

./vdbench -t

Linux中vdbench的安装与使用

三、vdbench的使用

在上面可以看到在vdbench的目录中,有以及examples目录。进入examples目录学习它提供的案例,以此来了解使用方式:

Linux中vdbench的安装与使用

可以使用cat命令查看里面的内容。

测试运行案例:

在查看之前,随便选择一个案例来进行运行测试试一试,例如examples/filesys/create_files:

 sudo ./vdbench -f examples/filesys/create_files

Linux中vdbench的安装与使用

Linux中vdbench的安装与使用

直接使用测试案例,能够运行成功,再来使用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:

Linux中vdbench的安装与使用

Linux中vdbench的安装与使用

运行一下来测试:

Linux中vdbench的安装与使用

运行成功。

四、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的安装与使用

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144253.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 用递归函数求斐波那契数列_利用递归求斐波那契数列

    用递归函数求斐波那契数列_利用递归求斐波那契数列函数递归求斐波那契数列//函数递归求斐波那契数列//编写程序,求数列1,1,2,3,5,8,13,21,……//思路://第一步:找出表示数列第N项的递归公式:F(N)=F(N-1)+F(N-2)//第二步:递归的结束条件,当N=1或N=2时,F(N)=1;longintFib(intn){ if(n<=2) return1; else returnFib(n-1)+Fib(n-2); //拿n=3带入一下,第一个返回值为1第二个返回值1

  • Geth私链的多节点运行「建议收藏」

    Geth私链的多节点运行「建议收藏」前一阵分别介绍了在Ubuntu和CentOS下搭建基于Geth的以太坊私链,这篇文章介绍如何搭建Geth多节点的运行。提示:在Ubuntu和CentOS下搭建以太坊私链,请参考《在Ubuntu下使用Geth搭建自己的以太坊私有链》和《CentOS7下安装Geth,搭建以太坊私有链》一、在Windows下安装Geth为了方便测试,我在Windows下搭建了一个套Geth环境。安装方…

  • discuz二次开发学习「建议收藏」

    discuz二次开发学习「建议收藏」2019独角兽企业重金招聘Python工程师标准>>>…

  • C++ int转char_c语言中int转char

    C++ int转char_c语言中int转char文章目录1.通过ascii码:2.直接转换(更简单,推荐)1.通过ascii码:chara=’0′;intia=(int)a;/*notethattheintcastisnotnecessary–intia=awouldsuffice*/cout<<ia<<endl;结果如下:可以看出这种方法得到的其实是ch…

  • maven 环境配置详细步骤[通俗易懂]

    maven 环境配置详细步骤[通俗易懂]maven环境配置前言环境配置步骤本地仓库配置新建一个maven项目与其环境配置前言maven是一个项目自动构建工具,环境配置步骤1、首先去官网下载maven安装包:http://maven.apache.org/download.cgi2、配置maven环境变量如上图配置MAVEN_HOME和M2_HOME,其内容是maven的安装路径(不要有中文!)3、修改path添加maven相关路径在path中配置jdk的环境变量后面加上两条:%MAVEN_HOME%\bin%M2_HOME

  • getParameter和getParameterValues

    getParameter和getParameterValuesgetParameter根据参数名获取参数值但只能获取一个值,例如如果选中多个多选框,获取的值只有第一个。getParameterValues能获取多个值,返回的是一个字符串数组

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号