前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux中vdbench的安装与使用

Linux中vdbench的安装与使用

作者头像
全栈程序员站长
发布2022-08-26 15:18:03
3.3K0
发布2022-08-26 15:18:03
举报
文章被收录于专栏:全栈程序员必看

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

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

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

环境:Ubuntu 16.04

一、安装Java

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

代码语言:javascript
复制
java -version
Linux中vdbench的安装与使用
Linux中vdbench的安装与使用

在当前主机中,没有java,但是系统给出了如下的提示内容:

代码语言:javascript
复制
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 

安装第一项:

代码语言:javascript
复制
sudo apt install default-jre

测试java是否安装成功:

Linux中vdbench的安装与使用
Linux中vdbench的安装与使用

二、安装vdbench

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

Linux中vdbench的安装与使用
Linux中vdbench的安装与使用

测试vdbench的可用性:

代码语言:javascript
复制
./vdbench -t
Linux中vdbench的安装与使用
Linux中vdbench的安装与使用

三、vdbench的使用

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

Linux中vdbench的安装与使用
Linux中vdbench的安装与使用

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

测试运行案例:

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

代码语言:javascript
复制
 sudo ./vdbench -f examples/filesys/create_files
Linux中vdbench的安装与使用
Linux中vdbench的安装与使用
Linux中vdbench的安装与使用
Linux中vdbench的安装与使用

直接使用测试案例,能够运行成功,再来使用cat指令,或者打开文件查看里面的内容。

代码语言:javascript
复制
cat create_files

主要内容如下:

代码语言:javascript
复制
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的安装与使用
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官方指导文档

这个文档里面写得比较详细,如果还不是很明确,可以查看此文档~

emmm~好吧,我又发现了其实在源码里面就有vdbench的说明文档,文档内容很详细,要是早知道这个文档就好了!!!

Linux中vdbench的安装与使用
Linux中vdbench的安装与使用

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、安装Java
  • 二、安装vdbench
  • 三、vdbench的使用
    • 测试运行案例:
    • 四、vdbench参数介绍
      • 1、HD:主机定义
        • 2、FSD:文件系统定义
          • 3、FWD:文件系统工作负载定义
            • 4、RD:运行定义
            • 参考
            • 更新
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档