1.Fio背景
最近研究了一下fio工具的使用方法,主要针对2.2.9的使用方法做一些笔记。
Fio是业内知名的io测试工具,下载地址
http://git.kernel.dk/?p=fio.git;a=summary
接下来的内容都是针对fio使用手册(man page)的理解和实践。在分析的时候主要用到了fio的debug参数,打开fio的debug功能,我们能看到很多fio的执行细节,是我理解fio参数(尤其是一些man page中模棱两可的参数)作用的重要途径。
2.option
运行fio比较简单,fio程序+option+jobfile,option是fio运行时参数,jobfile是一个workload的描述文件。option中较为重要参数有以下这些:
2.1 debug
fio --debug=[type] jobfile
这个参数非常有用,会dump出fio执行时的各种参数,例如random、io、等,之后很多参数的研究都会依赖这些详细信息
2.2 output
output=filename,fio执行的结果将重定向到filename指定的位置
2.3 output-format
output-format=normal,terse,json。
fio执行的结果以什么格式显示(默认normal),在自动化脚本中,使用terse或者json格式比较方便用程序解析结果。
2.4 section
section=sec, 如果jobfile中存在多个测试,但只想运行其中某几个的时候
fio --section=test2 jobfile
2.5 server/client
这两个参数涉及到fio的client/server模式
fio --server
然后此台fio进入server模式,默认打开8765端口,在另一台机器执行
fio --client=host jobfile
fio进入client模式,host指向server模式的机器,就可以实现将jobfile发送到server机器执行fio测试的任务。执行结果将返回client的机器。