• fio的高级用法(锁定带宽,IOPS ,跳跃,混合,画图)


    fio是我们测试存储的一个工具,它的功能很强大,下面介绍一下 平常测试不常用的几种功能
    1 跳跃:表示每次进行IO请求时,跳过此BS
    –rw=read:-4k
    –rw=write:4k

    fio --name=fio-test --filename=/dev/sdb --ioengine=libaio --direct=1 --bs=128k --iodepth=64 --numjobs=1  --runtime=30 --time_based=1   --size=100%  --rw=write:4k --thread --group_reporting
    
    • 1

    可以看到该HDD的BW数据比起正常来说少了很多
    在这里插入图片描述

    fio --name=fio-test --filename=/dev/sdb --ioengine=libaio --direct=1 --bs=128k --iodepth=64 --numjobs=1  --runtime=30 --time_based=1   --size=100%  --rw=read:-4k --thread --group_reporting
    
    • 1

    在这里插入图片描述
    2 锁定带宽(3.20以下的fio版本最大支持4000m)
    –rate=100m

    fio --name=fio-test --filename=/dev/sdb --ioengine=libaio --direct=1 --bs=128k --iodepth=64 --numjobs=1  --runtime=30 --time_based=1   --size=100%  --rw=read --rate=100m --thread --group_reporting
    
    • 1

    在这里插入图片描述
    3 锁定IOPS
    –rate_iops=500

    fio --name=fio-test --filename=/dev/sdb --ioengine=libaio --direct=1 --bs=128k --iodepth=64 --numjobs=1  --runtime=30 --time_based=1   --size=100%  --rw=read --rate_iops=500 --thread --group_reporting
    
    • 1

    在这里插入图片描述
    4 混合
    –bssplit=4k/50:8k/20:16k/10:32k/20: 4k,8k,16k,32k分别占比50%:20%:10%:20%

     fio --name=fio-test --filename=/dev/sdb --ioengine=libaio --direct=1 --bssplit=4k/50:8k/20:16k/10:32k/20  --iodepth=64 --numjobs=1  --runtime=30 --time_based=1   --size=100%  --rw=read  --thread --group_reporting
    
    • 1

    在这里插入图片描述
    5 画图
    fio 有已经集成好的作图工具(需要安装) :fio_generate_plots ,fio2gnuplot
    –percentile_list=99.0:99.9:99.99 只显示这三个延迟
    –write_bw_log=rw 记录带宽
    –write_iops_log=rw记录iops
    –write_lat_log=rw 记录三种延迟
    –iopsavgtime=1000 每隔1秒种记录一次iops
    – log_avg_msec=1000 每隔1秒种记录一次延迟
    – bwavgtime=1000 每隔1秒种记录一次带宽
    writelog 是以job为单位进行记录,有几个jobs ,就会有相应的log生成

    fio --name=fio_gnuplot --filename=/dev/sdb --ioengine=libaio  --bs=128k --iodepth=64 --numjobs=1  --runtime=30 --time_based=1 --thread=1 --direct=1  --size=100% --percentile_list=99.0:99.9:99.99 --rw=write --write_bw_log=rw  --write_iops_log=rw --write_lat_log=rw  --bwavgtime=1000  --log_avg_msec=1000 --iopsavgtime=1000
    
    • 1

    在这里插入图片描述
    运行 fio_generate_plots rw
    可看到生成了5张图 分别是bw,iops ,lat,clat slat
    在这里插入图片描述
    fio2gnuplot -b -i -g(因为这个工具是抓以bw.log或者iops.log为后缀的,所以需要将bw/iops.1.log修改为bw/iops.log)
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    Flink1.15源码解析--任务提交流程----flink run
    MySQL知识点补充
    (六)React Ant Design Pro + .Net5 WebApi:后端环境搭建-EF Core
    Kubernetes 1.25.4数据平面自带nginx负载均衡实现高可用
    同为科技(TOWE)主副控智能自动断电桌面PDU插排
    Django(2)模板、标签
    OA项目之我的会议(会议排座&送审)
    2023各版本JDK下载链接
    代码随想录第五十六天
    基于象虫损害优化算法的投资组合问题(Matlab代码实现)
  • 原文地址:https://blog.csdn.net/weixin_43841091/article/details/127621387