fio文件读写io带宽测试工具

1. 安装

sh 复制代码
yum install fio

2. 使用

sh 复制代码
fio --name=job_name \   任务名称 随意命名
    --directory=/mnt/small_single_fio \   目标路径
    --rw=write \    IO 操作类型  write read 
    --bs=4k \      块大小  每次 IO 操作的数据量
    --size=1G \     文件大小
    --numjobs=1 \   并发数  可以多并发
    --ioengine=libaio \   io引擎-异步
    --loops=1000    循环执行1000次  会保存同名文件--只保留一个文件名  
    --direct=1 \      使用直接 IO(绕过操作系统缓存)
    --runtime=60 \   限定执行时间
    --time_based \
    --group_reporting \
    --output=cephfs_small_randwrite.csv    保存测试结果的输出文件

3. 配置文件使用

生成fio配置文件

sh 复制代码
# 创建基础配置(定义任务名称、读取模式、引擎等)
echo "
[data_all_read]
rw=read                # 操作类型:读取(不修改文件)
ioengine=sync          # I/O引擎:同步读取(兼容性好,适合现有文件)
direct=0               # 是否绕过缓存:0=使用缓存(默认),1=直接I/O(测试物理设备性能时用)
numjobs=1              # 并发任务数:1=单线程,可根据需求增加(如4)
group_reporting        # 汇总所有文件的结果(而非单独输出每个文件)
output=data_bandwidth.log  # 结果输出文件(含带宽数据)
" > read_data_all.fio

# 递归查找/data/下所有文件,将路径添加到配置文件的filename参数中
find /data/ -type f | while read file; do
    echo "filename=$file" >> read_data_all.fio
done

去掉output参数

sh 复制代码
# 创建基础配置
echo "
[recursive_read]
rw=read
ioengine=sync
direct=0
numjobs=1
group_reporting
" > read_all_files.fio
# 继续添加所有文件路径
find /data/ -type f | while read file; do
    echo "filename=$file" >> read_all_files.fio
done

运行fio测试

sh 复制代码
fio read_all_files.fio 

参考文档

https://developer.aliyun.com/article/1369594
https://fio.readthedocs.io/en/latest/fio_doc.html#cmdoption-arg-nrfiles
https://github.com/axboe/fio

mdtest 性能测试工具

相关推荐
大白的编程日记.16 小时前
【Linux学习笔记】线程同步与互斥之生产者消费者模型
linux·笔记·学习
Knight_AL16 小时前
Spring Boot 中使用自定义注解和 AOP 实现微服务日志记录(包含 URL、状态码和耗时信息)
linux·spring boot·微服务
养海绵宝宝的小蜗16 小时前
Linux 例行性工作任务(定时任务)知识点总结
linux·运维·服务器
乌萨奇也要立志学C++16 小时前
【Linux】基础IO(二)深入理解“一切皆文件” 与缓冲区机制:从原理到简易 libc 实现
linux·运维·服务器
Ronin30516 小时前
【Linux网络】封装Socket
linux·网络·socket·网络通信
不会写DN17 小时前
用户头像文件存储功能是如何实现的?
java·linux·后端·golang·node.js·github
---学无止境---17 小时前
Linux中slab缓存初始化kmem_cache_init函数和定时回收函数的实现
linux
草莓熊Lotso17 小时前
Linux 进阶指令实操指南:文件查看、时间管理、搜索压缩全场景覆盖(附高频案例)
linux·运维·服务器
Cx330❀17 小时前
《Linux进阶指令实操指南》:文件查看、时间管理、搜索压缩全覆盖(附高频案例)
linux·运维·服务器
努力努力再努力wz18 小时前
【C++进阶系列】:万字详解unordered_set和unordered_map,带你手搓一个哈希表!(附模拟实现unordered_set和unordered_map的源码)
java·linux·开发语言·数据结构·数据库·c++·散列表