fio常见使用方法

fio是一款强大的性能测试工具,适用于文件系统和裸盘的读写性能测试。本文介绍了fio的安装方法,以及如何针对iscsi、krbd和librbd设备进行测试。此外,还详细讲解了fio的参数配置,如ioengine、filename、direct、rw等,并通过实例展示了如何进行读写测试。最后,分析了fio测试结果,包括关注的关键性能指标,以及如何记录和解读性能数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • fio简介

fio是一个性能测试工具,可以针对文件系统或者裸盘进行性能测试。本教程以裸盘进行说明。

  • fio的安装

对于centos系统,执行执行yum install fio即可,其它系统请自行查找资料安装。

fio测试不同设备的方法:

测试iscsi:使用iscsi将lun挂载给客户端,然后客户端使用fio对多路径设备/dev/mapper/mpathX进行读写测试即为iscsi性能测试:

fio  --ioengine=libaio -filename=/dev/mapper/mpatha

测试krbd:在存储管理界面将lun映射给本地客户端,然后对/dev/rbdX进行读写即为krbd性能测试

fio  --ioengine=libaio -filename=/dev/rbd0

测试librbd(对fio有版本要求,2.X有部分不支持):需要先在客户端安装rbd-client,安装完rbd-client之后,需要将存储节点/var/lib/ceph/etc/ceph/XXXXX.conf 文件scp到客户端节点的相同目录下,在客户端节点与存储public网络连接之后即可使用librbd进行测试:

fio --ioengine=rbd -rbdname=120845d0-438b-11eb-81fc-246e9609b932 -pool=4eb9c4b0-433e-11eb-b68a-246e9609b932 -clientname=admin

  • fio的使用

读写注意事项:没有写过的数据的盘做读操作之前需要进行写一遍的操作,否则会存在读空数据的情况,估计读到bitmap就返回数据了,性能会超级高,不能代表存储实际性能。特殊场景需要构造磁盘存在空穴的情况,也可以使用fio进行进行构造。

首先,我们来把磁盘写一遍

fio  --ioengine=libaio -filename=/dev/mapper/mpatha  -direct=1 -rw=rw  -bs=1024k -rwmixread=0 -iodepth=128 -numjobs=1 -group_reporting -name=test

ioengine  fio3.7版本中就支持25种不同的引擎模式,其中常用的为libaio(linux原生异步io,我们的测试也基本上是在这个模型下测试的);rbd即使用librbd方式来执行读写(相比iscsi方式访问压力会更稳定)。默认的ioengine为sync,即一个io写下去了之后会确认完成读写才会执行下一个io。还有一个是psync,比sync又多了个原子操作的概念。

Filename即你要测试裸磁盘或者文件系统里的文件

Direct 通常和libaio一起使用,=1即不使用缓存

Rw定义读写模型,有9个定义,常用的有read write randread randwrite rw(readwrite) randrw

Rwmixread/rwmixwrite 读写模型种读和写的比例,默认为50,只定义一个即可。配合rw定义的rw模型使用

Bs 单个io读写的块大小

Iodepth 读写的队列深度,类似于一个车道上排队的车辆数

Numjobs 读写的job个数,类似于有几个车道

Group_reporting -name=两个一起用,通常用来区分不同的fio任

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每天读点书学堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值