前文:
理解FIO各项参数,为后续使用做准备
经过:
fio - flexible I/O tester
FIO - 灵活的IO测试工具
fio is a tool that will spawn a number of threads or processes doing a particular type of I/O action as specified by the user. The typical use of fio is to write a job file matching the I/O load one wants to simulate.
fio是一个通过产生一定数量的线程与进程去做用户指定形式的动作。经典的用法是写一个job文件模拟IO载入的过程。
fio [options] [jobfile]...
OPTIONS
--debug=type
Enable verbose tracing of various fio actions. May be `all' for all types or individual types separated by a comma (eg --debug=io,file). `help' will list all available tracing options.
能够详细跟踪各种各样fio的的动作。help将列出所有跟踪变量选项。all将跟踪所有选项。具体列出是使用逗号分隔。
--output=filename
Write output to filename.
输出到filename
--output-format=format
Set the reporting format to normal, terse, json, or json+. Multiple formats can be selected, separate by a comma. terse is a CSV based format. json+ is like json, except it adds a full dump of the latency buckets.
设置输出报告格式为normal,terse,json,json+。可以选择多个格式,使用逗号分隔。terse是一个基于csv的格式。json+类似于json,区别在于增加了完全转储的延迟bucket
--runtime=runtime
Limit run time to runtime seconds.
限制运行时间到runtime秒
--bandwidth-log
Generate aggregate bandwidth logs.
收集总的带宽log(这块没发现有什么用处)
--minimal
Print statistics in a terse, semicolon-delimited format.
打印terse格式,用分号分隔的统计值
--append-terse
Print statistics in selected mode AND terse, semicolon-delimited format. Deprecated, use --output-format instead to select multiple formats.
打印选择的格式与按分号分隔的terse格式。不赞成使用这种格式,请使用--output-format进行替代。
--cpuclock-test
Perform test and validation of internal CPU clock
测试并且核实cpu的内部时钟,如果没问题最后会给出pass
--crctest[=test]
Test the speed of the builtin checksumming functions. If no argument is given, all of them are tested.
Or a comma separated list can be passed, in which case the given ones are tested.
测试内建的校验函数。如果没有给出参数则全部测试。或者是用逗号分隔的一系列参数进行测试。(支持md5,crc64,crc32,crc32c,crc16,crc7,sha1,sha256,xxhash,murmur3,jhash,fnv)没搞懂测试这个速度的用处
--cmdhelp=command
Print help information for command. May be `all' for all commands.
打印command的帮助信息。all打印所有command。这里已经属于高阶玩法,可以根据具体的job制定专门的command配合测试。
--enghelp=ioengine[,command]
List all commands defined by ioengine, or print help for command defined by ioengine.
列出引擎包含的所有命令,或者打印引擎包含的命令的帮助信息
--showcmd=jobfile
Convert jobfile to a set of command-line options.
转换jobfile为命令行参数
--eta=when
Specifies when real-time ETA estimate should be printed. when may be one of `always', `never' or `auto'.
定义何时打印实时评价信息,参数when可以为always,never,auto
--eta-newline=time
Force an ETA newline for every `time` period passed.
没经过一个time,输出一个ETA新行。有效的前提是--eta不能等于never
--status-interval=time
Report full output status every `time` period passed.
每经过一个time,输出全部状态
--readonly
Turn on safety read-only checks, preventing any attempted write.
打开只读检测,阻止任何写得尝试
--section=sec
Only run section sec from job file. This option can be used multiple times to add more sections to run.
只运行job file中的sec部分。这个选项用于含有多个section的job file中。例如当包含test1,test2两个section时,可以指定只测试test1
--alloc-size=kb
Set the internal smalloc pool size to kb kilobytes.
记录一份FIO测试参数
[global]
direct=1
ioengine=libaio
time_based=1
end_fsync=1
norandommap=1
randrepeat=0
group_reporting
log_avg_msec=500
bwavgtime=500
[Precondition]
numjobs=1
iodepth=128
rw=randwrite
bs=4k
runtime=4h
stonewall
[4kB Ran WR 1job QD1]
numjobs=1
iodepth=1
rw=randwrite
bs=4k
runtime=600
write_iops_log=4k_rand_wr_1job_QD1
stonewall
[4kB Ran WR 1job QD2]
numjobs=1
iodepth=2
rw=randwrite
bs=4k
runtime=600
write_iops_log=4k_rand_wr_1job_QD2
stonewall
[4kB Ran WR 1job QD4]
numjobs=1
iodepth=4
rw=randwrite
bs=4k
runtime=600
write_iops_log=4k_rand_wr_1job_QD4
stonewall
[4kB Ran WR 1job QD8]
numjobs=1
iodepth=8
rw=randwrite
bs=4k
runtime=600
write_iops_log=4k_rand_wr_1job_QD8
stonewall
[4kB Ran WR 1job QD16]
numjobs=1
iodepth=16
rw=randwrite
bs=4k
runtime=600
write_iops_log=4k_rand_wr_1job_QD16
stonewall
[4kB Ran WR 1job QD32]
numjobs=1
iodepth=32
rw=randwrite
bs=4k
runtime=600
write_iops_log=4k_rand_wr_1job_QD32
stonewall
[4kB Ran WR 1job QD64]
numjobs=1
iodepth=64
rw=randwrite
bs=4k
runtime=600
write_iops_log=4k_rand_wr_1job_QD64
stonewall
[4kB Ran WR 1job QD128]
numjobs=1
iodepth=128
rw=randwrite
bs=4k
runtime=600
write_iops_log=4k_rand_wr_1job_QD128
stonewall
[4kB Ran WR 4job QD32]
numjobs=4
iodepth=32
rw=randwrite
bs=4k
runtime=600
write_iops_log=4k_rand_wr_4job_QD32
stonewall
[4kB Ran RD 1job QD1]
numjobs=1
iodepth=1
rw=randread
bs=4k
runtime=600
write_iops_log=4k_rand_rd_1job_QD1
stonewall
[4kB Ran RD 1job QD2]
numjobs=1
iodepth=2
rw=randread
bs=4k
runtime=600
write_iops_log=4k_rand_rd_1job_QD2
stonewall
[4kB Ran RD 1job QD4]
numjobs=1
iodepth=4
rw=randread
bs=4k
runtime=600
write_iops_log=4k_rand_rd_1job_QD4
stonewall
[4kB Ran RD 1job QD8]
numjobs=1
iodepth=8
rw=randread
bs=4k
runtime=600
write_iops_log=4k_rand_rd_1job_QD8
stonewall
[4kB Ran RD 1job QD16]
numjobs=1
iodepth=16
rw=randread
bs=4k
runtime=600
write_iops_log=4k_rand_rd_1job_QD16
stonewall
[4kB Ran RD 1job QD32]
numjobs=1
iodepth=32
rw=randread
bs=4k
runtime=600
write_iops_log=4k_rand_rd_1job_QD32
stonewall
[4kB Ran RD 1job QD64]
numjobs=1
iodepth=64
rw=randread
bs=4k
runtime=600
write_iops_log=4k_rand_rd_1job_QD64
stonewall
[4kB Ran RD 1job QD128]
numjobs=1
iodepth=128
rw=randread
bs=4k
runtime=600
write_iops_log=4k_rand_rd_1job_QD128
stonewall
[4kB Ran RD 4job QD32]
numjobs=4
iodepth=32
rw=randread
bs=4k
runtime=600
write_iops_log=4k_rand_rd_4job_QD32
stonewall
[Precondition]
numjobs=1
iodepth=128
rw=randwrite
bs=8k
runtime=1800
stonewall
[8kB Ran WR 1job QD1]
numjobs=1
iodepth=1
rw=randwrite
bs=8k
runtime=600
write_iops_log=8k_rand_wr_1job_QD1
stonewall
[8kB Ran WR 1job QD2]
numjobs=1
iodepth=2
rw=randwrite
bs=8k
runtime=600
write_iops_log=8k_rand_wr_1job_QD2
stonewall
[8kB Ran WR 1job QD4]
numjobs=1
iodepth=4
rw=randwrite
bs=8k
runtime=600
write_iops_log=8k_rand_wr_1job_QD4
stonewall
[8kB Ran WR 1job QD8]
numjobs=1
iodepth=8
rw=randwrite
bs=8k
runtime=600
write_iops_log=8k_rand_wr_1job_QD8
stonewall
[8kB Ran WR 1job QD16]
numjobs=1
iodepth=16
rw=randwrite
bs=8k
runtime=600
write_iops_log=8k_rand_wr_1job_QD16
stonewall
[8kB Ran WR 1job QD32]
numjobs=1
iodepth=32
rw=randwrite
bs=8k
runtime=600
write_iops_log=8k_rand_wr_1job_QD32
stonewall
[8kB Ran WR 1job QD64]
numjobs=1
iodepth=64
rw=randwrite
bs=8k
runtime=600
write_iops_log=8k_rand_wr_1job_QD64
stonewall
[8kB Ran WR 1job QD128]
numjobs=1
iodepth=128
rw=randwrite
bs=8k
runtime=600
write_iops_log=8k_rand_wr_1job_QD128
stonewall
[8kB Ran WR 4job QD32]
numjobs=4
iodepth=32
rw=randwrite
bs=8k
runtime=600
write_iops_log=8k_rand_wr_4job_QD32
stonewall
[8kB Ran RD 1job QD1]
numjobs=1
iodepth=1
rw=randread
bs=8k
runtime=600
write_iops_log=8k_rand_rd_1job_QD1
stonewall
[8kB Ran RD 1job QD2]
numjobs=1
iodepth=2
rw=randread
bs=8k
runtime=600
write_iops_log=8k_rand_rd_1job_QD2
stonewall
[8kB Ran RD 1job QD4]
numjobs=1
iodepth=4
rw=randread
bs=8k
runtime=600
write_iops_log=8k_rand_rd_1job_QD4
stonewall
[8kB Ran RD 1job QD8]
numjobs=1
iodepth=8
rw=randread
bs=8k
runtime=600
write_iops_log=8k_rand_rd_1job_QD8
stonewall
[8kB Ran RD 1job QD16]
numjobs=1
iodepth=16
rw=randread
bs=8k
runtime=600
write_iops_log=8k_rand_rd_1job_QD16
stonewall
[8kB Ran RD 1job QD32]
numjobs=1
iodepth=32
rw=randread
bs=8k
runtime=600
write_iops_log=8k_rand_rd_1job_QD32
stonewall
[8kB Ran RD 1job QD64]
numjobs=1
iodepth=64
rw=randread
bs=8k
runtime=600
write_iops_log=8k_rand_rd_1job_QD64
stonewall
[8kB Ran RD 1job QD128]
numjobs=1
iodepth=128
rw=randread
bs=8k
runtime=600
write_iops_log=8k_rand_rd_1job_QD128
stonewall
[8kB Ran RD 4job QD32]
numjobs=4
iodepth=32
rw=randread
bs=8k
runtime=600
write_iops_log=8k_rand_rd_4job_QD32
stonewall
[Precondition]
numjobs=1
iodepth=128
rw=randwrite
bs=16k
runtime=1800
stonewall
[16kB Ran WR 1job QD1]
numjobs=1
iodepth=1
rw=randwrite
bs=16k
runtime=600
write_iops_log=16k_rand_wr_1job_QD1
stonewall
[16kB Ran WR 1job QD2]
numjobs=1
iodepth=2
rw=randwrite
bs=16k
runtime=600
write_iops_log=16k_rand_wr_1job_QD2
stonewall
[16kB Ran WR 1job QD4]
numjobs=1
iodepth=4
rw=randwrite
bs=16k
runtime=600
write_iops_log=16k_rand_wr_1job_QD4
stonewall
[16kB Ran WR 1job QD8]
numjobs=1
iodepth=8
rw=randwrite
bs=16k
runtime=600
write_iops_log=16k_rand_wr_1job_QD8
stonewall
[16kB Ran WR 1job QD16]
numjobs=1
iodepth=16
rw=randwrite
bs=16k
runtime=600
write_iops_log=16k_rand_wr_1job_QD16
stonewall
[16kB Ran WR 1job QD32]
numjobs=1
iodepth=32
rw=randwrite
bs=16k
runtime=600
write_iops_log=16k_rand_wr_1job_QD32
stonewall
[16kB Ran WR 1job QD64]
numjobs=1
iodepth=64
rw=randwrite
bs=16k
runtime=600
write_iops_log=16k_rand_wr_1job_QD64
stonewall
[16kB Ran WR 1job QD128]
numjobs=1
iodepth=128
rw=randwrite
bs=16k
runtime=600
write_iops_log=16k_rand_wr_1job_QD128
stonewall
[16kB Ran WR 4job QD32]
numjobs=4
iodepth=32
rw=randwrite
bs=16k
runtime=600
write_iops_log=16k_rand_wr_4job_QD32
stonewall
[16kB Ran RD 1job QD1]
numjobs=1
iodepth=1
rw=randread
bs=16k
runtime=600
write_iops_log=16k_rand_rd_1job_QD1
stonewall
[16kB Ran RD 1job QD2]
numjobs=1
iodepth=2
rw=randread
bs=16k
runtime=600
write_iops_log=16k_rand_rd_1job_QD2
stonewall
[16kB Ran RD 1job QD4]
numjobs=1
iodepth=4
rw=randread
bs=16k
runtime=600
write_iops_log=16k_rand_rd_1job_QD4
stonewall
[16kB Ran RD 1job QD8]
numjobs=1
iodepth=8
rw=randread
bs=16k
runtime=600
write_iops_log=16k_rand_rd_1job_QD8
stonewall
[16kB Ran RD 1job QD16]
numjobs=1
iodepth=16
rw=randread
bs=16k
runtime=600
write_iops_log=16k_rand_rd_1job_QD16
stonewall
[16kB Ran RD 1job QD32]
numjobs=1
iodepth=32
rw=randread
bs=16k
runtime=600
write_iops_log=16k_rand_rd_1job_QD32
stonewall
[16kB Ran RD 1job QD64]
numjobs=1
iodepth=64
rw=randread
bs=16k
runtime=600
write_iops_log=16k_rand_rd_1job_QD64
stonewall
[16kB Ran RD 1job QD128]
numjobs=1
iodepth=128
rw=randread
bs=16k
runtime=600
write_iops_log=16k_rand_rd_1job_QD128
stonewall
[16kB Ran RD 4job QD32]
numjobs=4
iodepth=32
rw=randread
bs=16k
runtime=600
write_iops_log=16k_rand_rd_4job_QD32
stonewall
[Precondition]
numjobs=1
iodepth=128
rw=randwrite
bs=32k
runtime=1800
stonewall
[32kB Ran WR 1job QD1]
numjobs=1
iodepth=1
rw=randwrite
bs=32k
runtime=600
write_iops_log=32k_rand_wr_1job_QD1
stonewall
[32kB Ran WR 1job QD2]
numjobs=1
iodepth=2
rw=randwrite
bs=32k
runtime=600
write_iops_log=32k_rand_wr_1job_QD2
stonewall
[32kB Ran WR 1job QD4]
numjobs=1
iodepth=4
rw=randwrite
bs=32k
runtime=600
write_iops_log=32k_rand_wr_1job_QD4
stonewall
[32kB Ran WR 1job QD8]
numjobs=1
iodepth=8
rw=randwrite
bs=32k
runtime=600
write_iops_log=32k_rand_wr_1job_QD8
stonewall
[32kB Ran WR 1job QD16]
numjobs=1
iodepth=16
rw=randwrite
bs=32k
runtime=600
write_iops_log=32k_rand_wr_1job_QD16
stonewall
[32kB Ran WR 1job QD32]
numjobs=1
iodepth=32
rw=randwrite
bs=32k
runtime=600
write_iops_log=32k_rand_wr_1job_QD32
stonewall
[32kB Ran WR 1job QD64]
numjobs=1
iodepth=64
rw=randwrite
bs=32k
runtime=600
write_iops_log=32k_rand_wr_1job_QD64
stonewall
[32kB Ran WR 1job QD128]
numjobs=1
iodepth=128
rw=randwrite
bs=32k
runtime=600
write_iops_log=32k_rand_wr_1job_QD128
stonewall
[32kB Ran WR 4job QD32]
numjobs=4
iodepth=32
rw=randwrite
bs=32k
runtime=600
write_iops_log=32k_rand_wr_4job_QD32
stonewall
[32kB Ran RD 1job QD1]
numjobs=1
iodepth=1
rw=randread
bs=32k
runtime=600
write_iops_log=32k_rand_rd_1job_QD1
stonewall
[32kB Ran RD 1job QD2]
numjobs=1
iodepth=2
rw=randread
bs=32k
runtime=600
write_iops_log=32k_rand_rd_1job_QD2
stonewall
[32kB Ran RD 1job QD4]
numjobs=1
iodepth=4
rw=randread
bs=32k
runtime=600
write_iops_log=32k_rand_rd_1job_QD4
stonewall
[32kB Ran RD 1job QD8]
numjobs=1
iodepth=8
rw=randread
bs=32k
runtime=600
write_iops_log=32k_rand_rd_1job_QD8
stonewall
[32kB Ran RD 1job QD16]
numjobs=1
iodepth=16
rw=randread
bs=32k
runtime=600
write_iops_log=32k_rand_rd_1job_QD16
stonewall
[32kB Ran RD 1job QD32]
numjobs=1
iodepth=32
rw=randread
bs=32k
runtime=600
write_iops_log=32k_rand_rd_1job_QD32
stonewall
[32kB Ran RD 1job QD64]
numjobs=1
iodepth=64
rw=randread
bs=32k
runtime=600
write_iops_log=32k_rand_rd_1job_QD64
stonewall
[32kB Ran RD 1job QD128]
numjobs=1
iodepth=128
rw=randread
bs=32k
runtime=600
write_iops_log=32k_rand_rd_1job_QD128
stonewall
[32kB Ran RD 4job QD32]
numjobs=4
iodepth=32
rw=randread
bs=32k
runtime=600
write_iops_log=32k_rand_rd_4job_QD32
stonewall
[Precondition]
numjobs=1
iodepth=128
rw=randwrite
bs=1024k
runtime=1800
stonewall
[1024kB Ran WR 1job QD1]
numjobs=1
iodepth=1
rw=randwrite
bs=1024k
runtime=600
write_iops_log=1024k_rand_wr_1job_QD1
stonewall
[1024kB Ran WR 1job QD2]
numjobs=1
iodepth=2
rw=randwrite
bs=1024k
runtime=600
write_iops_log=1024k_rand_wr_1job_QD2
stonewall
[1024kB Ran WR 1job QD4]
numjobs=1
iodepth=4
rw=randwrite
bs=1024k
runtime=600
write_iops_log=1024k_rand_wr_1job_QD4
stonewall
[1024kB Ran WR 1job QD8]
numjobs=1
iodepth=8
rw=randwrite
bs=1024k
runtime=600
write_iops_log=1024k_rand_wr_1job_QD8
stonewall
[1024kB Ran WR 1job QD16]
numjobs=1
iodepth=16
rw=randwrite
bs=1024k
runtime=600
write_iops_log=1024k_rand_wr_1job_QD16
stonewall
[1024kB Ran WR 1job QD32]
numjobs=1
iodepth=32
rw=randwrite
bs=1024k
runtime=600
write_iops_log=1024k_rand_wr_1job_QD32
stonewall
[1024kB Ran WR 1job QD64]
numjobs=1
iodepth=64
rw=randwrite
bs=1024k
runtime=600
write_iops_log=1024k_rand_wr_1job_QD64
stonewall
[1024kB Ran WR 1job QD128]
numjobs=1
iodepth=128
rw=randwrite
bs=1024k
runtime=600
write_iops_log=1024k_rand_wr_1job_QD128
stonewall
[1024kB Ran WR 4job QD32]
numjobs=4
iodepth=32
rw=randwrite
bs=1024k
runtime=600
write_iops_log=1024k_rand_wr_4job_QD32
stonewall
[1024kB Ran RD 1job QD1]
numjobs=1
iodepth=1
rw=randread
bs=1024k
runtime=600
write_iops_log=1024k_rand_rd_1job_QD1
stonewall
[1024kB Ran RD 1job QD2]
numjobs=1
iodepth=2
rw=randread
bs=1024k
runtime=600
write_iops_log=1024k_rand_rd_1job_QD2
stonewall
[1024kB Ran RD 1job QD4]
numjobs=1
iodepth=4
rw=randread
bs=1024k
runtime=600
write_iops_log=1024k_rand_rd_1job_QD4
stonewall
[1024kB Ran RD 1job QD8]
numjobs=1
iodepth=8
rw=randread
bs=1024k
runtime=600
write_iops_log=1024k_rand_rd_1job_QD8
stonewall
[1024kB Ran RD 1job QD16]
numjobs=1
iodepth=16
rw=randread
bs=1024k
runtime=600
write_iops_log=1024k_rand_rd_1job_QD16
stonewall
[1024kB Ran RD 1job QD32]
numjobs=1
iodepth=32
rw=randread
bs=1024k
runtime=600
write_iops_log=1024k_rand_rd_1job_QD32
stonewall
[1024kB Ran RD 1job QD64]
numjobs=1
iodepth=64
rw=randread
bs=1024k
runtime=600
write_iops_log=1024k_rand_rd_1job_QD64
stonewall
[1024kB Ran RD 1job QD128]
numjobs=1
iodepth=128
rw=randread
bs=1024k
runtime=600
write_iops_log=1024k_rand_rd_1job_QD128
stonewall
[1024kB Ran RD 4job QD32]
numjobs=4
iodepth=32
rw=randread
bs=1024k
runtime=600
write_iops_log=1024k_rand_rd_4job_QD32
stonewall
网友评论