vdbench和fio

vdbench

安装java,安装vdbench
修改目录中的example,cd到vdbench所在的位置,vdbench -t 测试,vdbench -f example -o 输出位置。
https://cloud.tencent.com/developer/article/2053603 vdbench 的使用
hd:主机
sd:块设备,不是文件共享系统
wd:工作负载
fsd:文件系统的定义,针对于远端的xfx,nfs共享。
fwd:文件系统的工作负载定义。
rd:运行任务的定义
脚本:
hd=default,运行目录,用户,shell(调用方式)配置免密通信
hd=hd1,system=(主机名或者是IP地址)
hd2
hd3
fsd=fsd1,目录,宽度,深度,openflags=0_DIRECT(不利用存储的缓存,直接写入存储),文件数,大小
#4k radom read
fwd= fsd= host= ,fileio=radom随机 大小 ,动作,线程
#4k radom write
#4k radom 8:2 (读写比例)
#4k sequenial read 顺序读写
rdpct读,threads写



运行任务,以上皆为选项:
rd=4kread,fwd=(1-4),fwdrate=速率 elapsd=测试时间 interval=每隔几秒输出

测试本地的裸设备,也就是挂载过来的lun:
#vdbench script with test2 on lun
与之前一样,定义所测试的内容:
hd=
sd=sd1,host=hd1,lun=/dev/vdb(虚拟机,物理机是sdb),线程
wd=
rd=run1,wd(1-2),iorate速率,执行时间,几秒输出。

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

fio

fio测试工具:
libaio异步引擎,同步的话cpu会不断向磁盘发包。
gcc-c++编译安装必备
make&&make install

顺序写: fio -direct=1(值为0,表示使用buffered IO;值为1,表示使用 direct IO) -iodepth=32(队列深度,fio总的IO并发数=队列深度乘以线程数) -rw=write(读写策略) -ioengine=libaio(异步模式,sync是同步模式) -bs=4M(IO的块大小) -size=128G -numjobs=1(测试时候并发的线程数))
-runtime=600 -group_reporting(汇总进程的统计信息) -filename=/dev/[device] -name=Write_BandWidth_Test(测试任务的名称)
随机写: fio -direct=1-iodepth=128 -rw=randwrite -ioengine=libaio -bs=4K -size=128G - numjobs=1
-runtime=600 -group_reporting -filename=/dev/[device] -name=Rand_Write_IOPS_Test
顺序读:fio -direct=1 -iodepth=32 -rw=read -ioengine=libaio -bs=4M -size=128G -numjobs=1
-runtime=600 -group_reporting -filename=/dev/[device] -name=Read_BandWidth_Test
随机读:fio -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -bs=4K -size=128G - numjobs=1
-runtime=600 -group_reporting -filename=/dev/[device] -name=Rand_Read_IOPS_Test
混合读写:fio -output=/tmp/100S100W -name=100S100W -filename=/dev/sdb:/dev/sdc:/dev/sdd -ioengine=libaio -direct=1 -blocksize=2M -runtime=300 -rw=randrw -rwmixread=70 -rwmixwrite=30 -iodepth=32 -numjobs=1

host= 存储所在的主机的 ID。 lun= 原始磁盘、磁带或文件系统的名称。vdbench 也可为您创建一个磁盘。 threads= 对 SD 的最大并发 I/O 请求数量。默认为 8。 hitarea= 调整读取命中百分比的大小。默认为 1m。 openflags= 用于打开一个 lun 或一个文件的 flag_list。 WD:工作负载定义 wd= 标识工作负载的名称。 sd= 要使用的存储定义的 ID。 host= 要运行此工作负载的主机的 ID。默认设置为 localhost。 rdpct= 读取请求占请求总数的百分比。 rhpct= 读取命中百分比。默认设置为 0。 whpct= 写入命中百分比。默认设置为 0。 xfersize= 要传输的数据大小。默认设置为 4k。 seekpct= 随机寻道的百分比。可为随机值。 openflags= 用于打开一个 lun 或一个文件的 flag_list。 iorate= 此工作负载的固定 I/O 速率。 RD:运行定义 rd= 标识运行的名称。 wd= 用于此运行的工作负载的 ID。 iorate= (#,#,...) 一个或多个 I/O 速率。 curve:性能曲线(待定义)。 max:不受控制的工作负载。 elapsed= time:以秒为单位的运行持续时间。默认设置为 30。 interval:报告间隔序号 warmup= time:加热期,最终会被忽略。 distribution= I/O 请求的分布:指数、统一或确定性。 pause= 在下一次运行之前休眠的时间,以秒为单位。 openflags= 用于打开一个 lun 或一个文件的 flag_list。 对于一个文件系统 对于一个文件系统,配置以下参数: HD:主机定义。与虚拟块设备相同。 FSD:文件系统定义 fsd= 标识文件系统定义的名称 anchor= 将在其中创建目录结构的目录 width= 要在定位符下创建的目录数 depth= 要在定位符下创建的级别数 files= 要在最低级别创建的文件数 sizes= (size,size,...) 将创建的文件大小 distribution= bottom(如果希望仅在最低级别创建文件)和 all(如果希望在所有目录中创建文件) openflags= 用于打开一个文件系统 (Solaris) 的 flag_list 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 个文件。 RD:运行定义 fwd= 要使用的文件系统工作负载定义的 ID。 fwdrate= 每秒执行的文件系统操作数量。 format= yes / no / only / restart / clean / directories。在开始运行之前要执行的操作。 operations= 覆盖 fwd 操作。选项相同。 运行之后的输出文件夹文件 每次运行后,vdbench 会创建一个包含以下文件的输出文件夹: errorlog.html 当为测试启用了数据验证时,它可包含一些数据块中的错误的相关信息: 无效的密钥读取 无效的 lba 读取(一个扇区的逻辑字节地址) 无效的 SD 或 FSD 名称读取 数据损坏,即使在使用错误的 lba 或密钥时 数据损坏 坏扇区
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值