fio 压测

fio 压测os centos7 4 版本 cat etc centos releaseCentO 4 1708 Core fio yuminstall yfiolibaioli devel whichfio usr bin fio fiohelpfio 3 7fio options joboptio

os: centos 7.4

版本

# cat /etc/centos-release CentOS Linux release 7.4.1708 (Core) 

fio

# yum install -y fio libaio libaio-devel # which fio /usr/bin/fio # fio --help fio-3.7 fio [options] [job options] <job file(s)> --debug=options Enable debug logging. May be one/more of: process,file,io,mem,blktrace,verify,random,parse, diskutil,job,mutex,profile,time,net,rate,compress, steadystate,helperthread --parse-only Parse options only, don't start any IO --output Write output to file --bandwidth-log Generate aggregate bandwidth logs --minimal Minimal (terse) output --output-format=type Output format (terse,json,json+,normal) --terse-version=type Set terse version output format (default 3, or 2 or 4) --version Print version info and exit --help Print this page --cpuclock-test Perform test/validation of CPU clock --crctest=[type] Test speed of checksum functions --cmdhelp=cmd Print command help, "all" for all of them --enghelp=engine Print ioengine help, or list available ioengines --enghelp=engine,cmd Print help for an ioengine cmd --showcmd Turn a job file into command line options --eta=when When ETA estimate should be printed May be "always", "never" or "auto" --eta-newline=time Force a new line for every 'time' period passed --status-interval=t Force full status dump every 't' period passed --readonly Turn on safety read-only checks, preventing writes --section=name Only run specified section in job file, multiple sections can be specified --alloc-size=kb Set smalloc pool to this size in kb (def 16384) --warnings-fatal Fio parser warnings are fatal --max-jobs=nr Maximum number of threads/processes to support --server=args Start a backend fio server --daemonize=pidfile Background fio server, write pid to file --client=hostname Talk to remote backend(s) fio server at hostname --remote-config=file Tell fio server to load this local job file --idle-prof=option Report cpu idleness on a system or percpu basis (option=system,percpu) or run unit work calibration only (option=calibrate) --inflate-log=log Inflate and output compressed log --trigger-file=file Execute trigger cmd when file exists --trigger-timeout=t Execute trigger at this time --trigger=cmd Set this command as local trigger --trigger-remote=cmd Set this command as remote trigger --aux-path=path Use this path for fio state generated files Fio was written by Jens Axboe <> 

普通云盘性能测试

随机写IOPS:

fio -direct=1 -iodepth=128 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Rand_Write_Testing 

随机读IOPS:

fio -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Rand_Read_Testing 

顺序写吞吐量(写带宽):

fio -direct=1 -iodepth=64 -rw=write -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Write_PPS_Testing 

顺序读吞吐量(读带宽):

fio -direct=1 -iodepth=64 -rw=read -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Read_PPS_Testing 

随机写时延:

fio -direct=1 -iodepth=1 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -group_reporting -filename=iotest -name=Rand_Write_Latency_Testing 

随机读时延:

fio -direct=1 -iodepth=1 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -group_reporting -filename=iotest -name=Rand_Read_Latency_Testingrandwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -group_reporting -filename=iotest -name=Rand_Write_Latency_Testing 

本地盘性能测试

随机写IOPS:

fio -direct=1 -iodepth=32 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=4 -time_based=1 -runtime=1000 -group_reporting -filename=/tmp/fiotest1 -name=test 

随机读IOPS:

fio -direct=1 -iodepth=32 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=4 -time_based=1 -runtime=1000 -group_reporting -filename=/tmp/fiotest2 -name=test 

顺序写吞吐量(写带宽):

fio -direct=1 -iodepth=128 -rw=write -ioengine=libaio -bs=128k -size=1G -numjobs=1 -time_based=1 -runtime=1000 -group_reporting -filename=/tmp/fiotest3 -name=test 

顺序读吞吐量(读带宽):

fio -direct=1 -iodepth=128 -rw=read -ioengine=libaio -bs=128k -size=1G -numjobs=1 -time_based=1 -runtime=1000 -group_reporting -filename=/tmp/fiotest4 -name=test 

随机写延迟:

fio -direct=1 -iodepth=1 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -time_based=1 -runtime=1000 -group_reporting -filename=/tmp/fiotest5 -name=test 

随机读延迟:

fio -direct=1 -iodepth=1 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -time_based=1 -runtime=1000 -group_reporting -filename=/tmp/fiotest6 -name=test 

顺序写延迟:

fio -direct=1 -iodepth=1 -rw=write -ioengine=libaio -bs=4k -size=1G -numjobs=1 -time_based=1 -runtime=1000 -group_reporting -filename=/tmp/fiotest7 -name=test 

顺序读延迟:

fio -direct=1 -iodepth=1 -rw=read -ioengine=libaio -bs=4k -size=1G -numjobs=1 -time_based=1 -runtime=1000 -group_reporting -filename=/tmp/fiotest8 -name=test 

-bs=4k 表示单次I/O的块文件大小为4KB。默认大小也是4KB。
测试IOPS时,建议将bs设置为一个较小的值,如4k。
测试吞吐量时,建议将bs设置为一个较大的值,如1024k。
-size=1G 表示测试文件大小为1GiB。
-numjobs=1 表示测试线程数为1。
-runtime=1000 表示测试时间为1000秒。如果未配置,则持续将前述-size指定大小的文件,以每次-bs值为分块大小写完。
-group_reporting 表示测试结果里汇总每个进程的统计信息,而非以不同job汇总展示信息。
-filename=iotest 指定测试文件的名称,例如iotest。
-name=Rand_Write_Testing 表示测试任务名称为Rand_Write_Testing,可以随意设定。







版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233020.html原文链接:https://javaforall.net

(0)
上一篇 2025年8月23日 下午7:01
下一篇 2025年8月23日 下午7:22


相关推荐

  • java防止接口重复请求_前端防止重复提交

    java防止接口重复请求_前端防止重复提交PopularMVC框架接口防重复提交功能使用示例简介1、简介此项目用于演示如何使用popularmvc提供的接口防重复提交功能。使用防重提交功能,只需要在需要防重的接口上添加@RequiredNoRepeatSubmit注解即可。主要有以下内容:防重复提交码模式自定义防重复提交码自定义防重复提交码需要调用者保证防重复提交码的全局唯一性,推荐结构:userId+timestamptimestamp在数据更新后才允许更新使用sign作为防重码如果接口开启了数字签

    2026年4月16日
    7
  • 遍历Arraylist的三种方法及优缺点简单介绍

    遍历Arraylist的三种方法及优缺点简单介绍集合ArrayList是接口List的一种子类,它的特点是:存储的元素是有序的.底层的数据结构是数组.查询快,增删慢.在众多集合中ArrayList的遍历又是比较特殊的,下面就写一下它的三种遍历方式,代码如下:第一种遍历方式:普通for循环第二种遍历方式:增强for循环第三种遍历方式:迭代器importjava.util.ArrayList;importjava.util.Iterator;/***PACKAGE_NAME*/publicclassDemo.

    2022年7月22日
    10
  • iframe自适应高度和宽度_自适应框架

    iframe自适应高度和宽度_自适应框架解决使用iframe的高度适应问题,长高度和短高度都能互相适应。

    2022年10月12日
    5
  • java中assertEquals_Junit 测试: assertEquals的使用

    java中assertEquals_Junit 测试: assertEquals的使用我写了如下的一个类 importjava math BigDecimal publicclassD publicBigDec floatf1 floatf2 BigDecimalfb newBigDecima f1 BigDecimalfb newBigDecim 我写了如下的一个类 importjava math BigDecimal

    2026年3月19日
    3
  • IIC通信协议总结[通俗易懂]

    IIC通信协议总结[通俗易懂](1)概述I2C(Inter-IntegratedCircuit BUS)集成电路总线,该总线由NXP(原PHILIPS)公司设计,多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。经常IIC和SPI接口被认为指定是一种硬件设备,但其实这样的说法是不尽准确的,严格的说他们都是人们所定义的软硬结合体,分为物理层(四线结构)和协议层(主机,从

    2022年4月28日
    62
  • Mac pro 常用快捷键大全「建议收藏」

    Mac pro 常用快捷键大全「建议收藏」Mac常用快捷键

    2022年5月26日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号