云服务器
参数 | 说明 |
参数 | 说明 |
[global] | 表示job的名称。global名称不可修改,其中描述了job file中各个job的默认配置值。 |
ioengine=libaio | 定义FIO使用哪种IO引擎,支持同步或异步I/O,此处建议使用libaio(异步I/O),表示一次性提交一批I/O请求,等待一批完成后再提交下一批,可以减少交互次数,提高效率。 |
userspace_reap | 与libaio配合,提高异步IO的收割速度。 |
time_based | 表示如果在runtime指定的时间还没到时文件就被读写完成,将继续重复读写直到runtime时间结束。 |
runtime=60 | 指定在多少秒后停止进程,建议设置为60s。 |
direct=1 | 是否使用direct I/O,取值:
|
group_reporting | 表示汇总每个(线程/进程)的信息显示结果。 |
randrepeat=0 | 随机序列是否可重复,取值:
|
norandommap | 一般情况下,FIO执行随机IO时,将会覆盖文件的每一个块,即FIO会使用一段内存来记录是不是随机到重复的位置,如果随机到重复的位置,那么FIO会再去找一个不重复的位置。设置这个选项后,FIO将不会查询过去的历史,实现真正意义上的随机读写。 |
ramp_time=6 | 用于指定测试开始阶段的渐进时间。建议设置为6,表示等待6s性能稳定后,再记录日志结果,可以减少生成稳定结果需要的运行时间。 |
iodepth=1 | 设置IO队列的深度,表示使用异步I/O时,同时发出的I/O数上限。 |
numjobs=1 | 推荐使用CPU核心数,例如云服务器CPU核数为8,则numjobs推荐取值为8。 |
exitall | 表示一个job完成,就停止所有的job。 |
[randread4k]、[randwrite4k] | 用于具体定义测试任务的相关配置。
|
filename=/data/fiotest | 待测试的文件路径。如果是整盘测试,取值为磁盘设备名。 |
rw | 测试时的读写策略。
|
bs=4k | I/O单元的块大小(block size),默认值:4 KiB。 读取和写入的值可以以read、write格式单独指定,其中任何一个都可以为空以将该值保留为其默认值。 |
size=10G | 测试文件的大小。FIO会将指定的文件大小全部读/写完成,然后才停止测试,除非受到其它选项(例如runtime)的限制。 该参数取值可以是带单位的数字,例如size=10G,表示读/写的数据量为10GiB也可以是百分数,例如size=20%,FIO将使用给定文件或设备完整大小的20%空间。如果未指定该参数,FIO将使用给定文件或设备的完整大小。 |
参数 | 说明 |
参数 | 说明 |
if= | 输入文件名,即指定源文件。配置为if=/dev/zero时,会从零设备读取数据(即无限的零),表示测试纯写入性能。 |
of= | 输出文件名,即指定目的文件。配置为of=/dev/null时,会输出到空设备(即丢弃数据),表示测试纯读取性能。 |
bs=16M | 设置单次读入/输出块的大小为bytes个字节。 |
count=1024 | 表示仅拷贝1024个块,块大小等于bs指定的字节数。 |
iflag=direct | 表示读数据采用直接IO方式。 |
oflag=direct | 表示写数据采用直接IO方式。 |