• 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)
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    新的Ubuntu服务器上如何安装深度学习环境的docker
    解决ubuntu23.10 wifi不能使用的问题
    vscode远程连接XHR(wget download failed)解决方法
    R语言参数自抽样法Bootstrap:估计MSE、经验功效、杰克刀Jackknife、非参数自抽样法可视化
    学信息系统项目管理师第4版系列32_信息技术发展
    ES中 Nested 类型的原理和使用
    存储过程报Illegal mix of collations错误的解决方法
    KubeGems 启用 Nacos 配置中心
    (二)详解观察者模式
    面向Java开发者的ChatGPT提示词工程(7)
  • 原文地址:https://blog.csdn.net/weixin_43841091/article/details/127621387