前文:
理解FIO各項(xiàng)參數(shù)档址,為后續(xù)使用做準(zhǔn)備
經(jīng)過:
fio - flexible I/O tester
FIO - 靈活的IO測(cè)試工具
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是一個(gè)通過產(chǎn)生一定數(shù)量的線程與進(jìn)程去做用戶指定形式的動(dòng)作。經(jīng)典的用法是寫一個(gè)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.
能夠詳細(xì)跟蹤各種各樣fio的的動(dòng)作玻募。help將列出所有跟蹤變量選項(xiàng)谋右。all將跟蹤所有選項(xiàng)。具體列出是使用逗號(hào)分隔补箍。
--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.
設(shè)置輸出報(bào)告格式為normal改执,terse,json坑雅,json+辈挂。可以選擇多個(gè)格式裹粤,使用逗號(hào)分隔终蒂。terse是一個(gè)基于csv的格式。json+類似于json遥诉,區(qū)別在于增加了完全轉(zhuǎn)儲(chǔ)的延遲bucket
--runtime=runtime
Limit run time to runtime seconds.
限制運(yùn)行時(shí)間到runtime秒
--bandwidth-log
Generate aggregate bandwidth logs.
收集總的帶寬log(這塊沒發(fā)現(xiàn)有什么用處)
--minimal
Print statistics in a terse, semicolon-delimited format.
打印terse格式拇泣,用分號(hào)分隔的統(tǒng)計(jì)值
--append-terse
Print statistics in selected mode AND terse, semicolon-delimited format. Deprecated, use --output-format instead to select multiple formats.
打印選擇的格式與按分號(hào)分隔的terse格式。不贊成使用這種格式矮锈,請(qǐng)使用--output-format進(jìn)行替代霉翔。
--cpuclock-test
Perform test and validation of internal CPU clock
測(cè)試并且核實(shí)cpu的內(nèi)部時(shí)鐘,如果沒問題最后會(huì)給出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.
測(cè)試內(nèi)建的校驗(yàn)函數(shù)苞笨。如果沒有給出參數(shù)則全部測(cè)試债朵。或者是用逗號(hào)分隔的一系列參數(shù)進(jìn)行測(cè)試瀑凝。(支持md5,crc64,crc32,crc32c,crc16,crc7,sha1,sha256,xxhash,murmur3,jhash,fnv)沒搞懂測(cè)試這個(gè)速度的用處
--cmdhelp=command
Print help information for command. May be `all' for all commands.
打印command的幫助信息序芦。all打印所有command。這里已經(jīng)屬于高階玩法粤咪,可以根據(jù)具體的job制定專門的command配合測(cè)試谚中。
--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.
轉(zhuǎn)換jobfile為命令行參數(shù)
--eta=when
Specifies when real-time ETA estimate should be printed. when may be one of `always', `never' or `auto'.
定義何時(shí)打印實(shí)時(shí)評(píng)價(jià)信息寥枝,參數(shù)when可以為always宪塔,never,auto
--eta-newline=time
Force an ETA newline for every `time` period passed.
沒經(jīng)過一個(gè)time脉顿,輸出一個(gè)ETA新行蝌麸。有效的前提是--eta不能等于never
--status-interval=time
Report full output status every `time` period passed.
每經(jīng)過一個(gè)time,輸出全部狀態(tài)
--readonly
Turn on safety read-only checks, preventing any attempted write.
打開只讀檢測(cè)艾疟,阻止任何寫得嘗試
--section=sec
Only run section sec from job file. This option can be used multiple times to add more sections to run.
只運(yùn)行job file中的sec部分来吩。這個(gè)選項(xiàng)用于含有多個(gè)section的job file中敢辩。例如當(dāng)包含test1,test2兩個(gè)section時(shí)弟疆,可以指定只測(cè)試test1
--alloc-size=kb
Set the internal smalloc pool size to kb kilobytes.
記錄一份FIO測(cè)試參數(shù)
[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