默认fio将使用fadvise()来告知内核fio要产生的IO类型,如果不想告诉kernel来执行一些特定的IO类型的话,可行关闭这个选项。如果设置的话,fio将使用POSIX_FADV_SEWUENTIAL来作顺序IO,使用POSIX_FADV_RANDOM来做随机IO
<9>filesize=int
单个文件的大小,可以是一个范围,在这种情况下,fio将会在一个范围内选择一个大小来决定单个文件大小,如果没有设置的话,所有的文件将会是同样的大小。
<10>fill_device=bool,fill_fs=bool
填满空间直到达到终止条件ENOSPC,只对顺序写有意义。对于读负载,首行要填满挂载点,然后再启动IO,对于裸设备结点,这个设置则没有什么意义,因为,它的大小已被被文件系统知道了,此外写的超出文件将不会返回ENOSPC.
<11>blockalign=int,ba=int
配置随机io的对齐边界。默认是与blocksize的配置一致,对于direct_io,最小为512b,因为它与依赖的硬件块大小,对于使用文件的随机map来说,这个选项不起作用。
<14>blocksize_range=irange,bsrange=irange
不再采用单一的块大小,而是定义一个范围,fio将采用混合io块大小.IO单元大小一般是给定最小值的备数。同时应用于读写,当然也可以通过‘,’来隔开分别配置读写。
<15>bssplit=str
可以更为精确的控制产生的block size.这个选项可以用来定义各个块大小所占的权重.格式是
bssplit=blocksize/percentage;blocksize/percentage
bssplit=4k/10:64k/50;32k/40
产生的这样的负载:50% 64k的块,10% 4k的块, 40% 32k的块
可以分别为读和写来设置
e.g. bssplit=2k/50:4k/50,4k/90:8k/10
产生这样的负载:读(50% 64k的块,50% 4k的块),写(90% 4k的块, 10% 8k的块)
<16>blocksize_unaligned,bs_unaligned
如果这个选项被设置的,在bsrange范围内的大小都可以产生,这个选项对于direct io没有作用,因为对于direct io至少需要扇区对齐
<17>zero_buffers
如果这个选项设置的话,IO buffer全部位将被初始为0,如果没有置位的话,将会是随机数.
<18>refill_buffers
如果这个选项设置的话,fio将在每次submit之后都会将重新填满IO buffer,默认都会在初始是填满,以后重复利用。这个选项只有在zero_buffers没有设置的话,这个选项才有作用。
<19>scramble_buffer=bool
如果refilee_buffers成本太高的话,但是负载要求不使用重复数据块,设置这个选项的话,可以轻微的改动IO buffer内容,这种方法骗不过聪明的块压缩算法,但是可以骗过一些简单的算法。
<20>buffer_compress_percentage=int
如果这个设置的话,fio将会尝试提供可以压缩到特定级别的Buffer内容。FIO是能完提供混合的0和随机数来实现的。Note that this is per block size unit, for file/disk wide compression level that matches this setting, you’ll also want to set refill_buffers.
<21>buffer_compress_chunk=int
See buffer_compress_percentage. This setting allows fio to manage how big the ranges of random data and zeroed data is. Without this set, fio will provide buffer_compress_percentage of blocksize random data, followed by the remaining zeroed. With this set to some chunk size smaller than the block size, fio can alternate random and zeroed data throughout the IO buffer.
<22>file_service_type=str
fio切换job时,如何选择文件,支持下面的选项
random 随机选择一个文件
roundrobin 循环使用打开的文件,默认
sequential 完成一个文件后,再移动到下一个文件
这个选项可以加后缀数字,标明切换到下一个新的频繁程度。
e.g. random:4 每4次IO后,将会切换到一下随机的文件
<23>iodepth_batch_submit=int,iodepth_batch=int
这个定义了一次性提交几个IO,默认是1,意味着一旦准备好就提交IO,这个选项可以用来一次性批量提交IO
<24>iodepth_batch_complete=int
这个选项定义了一次取回多少个IO,如果定义为1的话,意味着我们将向内核请求最小为1个IO.The IO retrieval will go on until we hit the limit set by iodetph_low.If this variable is set to 0, then fi will always check for completed events before quuing more IO.This helps reduce IO latency, at the cost of more retrieval sysstem calls.
<25>iodepth_low=int