FIO工具使用方法和测试磁盘性能用例

一.FIO工具

参数说明:

-rw=randwrite:定义测试时的读写策略,可选值如下:随机读:randread,随机写:randwrite,顺序读: read,顺序写:write,混合随机读写:randrw0

-ioengine=libaio:libaio指的是异步模式,如果是同步就要用sync。定义fio如何下发IO请求,通常有同步IO和异步IO:同步IO一次只能发出一个IO请求, 等待内核完成后才返回。这样对于单个线程IO队列深度总是小于1,但是可以透过多个线程并发执行来解决。通常会用16~32个线程同时工作把IO队列深度塞满。异步IO则通常使用libaio这样的方式一次提交一批IO 请求,然后等待一批的完成,减少交互的次 数,会更有效率

-direct=1:定义是否使用direct IO,可选值如下:值为0,表示使用buffered IO;值为1,表示使用 direct IO

-thread:使用pthread_create创建线程,另一种是fork创建进程。进程的开销比线程要大,一般都采用thread测试。

–numjobs=1:定义测试的并发线程数

-iodepth=64:定义测试时的IO队列深度,默认为1。此处定义的队列深度是指每个线程的队列深度, 如果有多个线程测试,意味着每个线程都是此处定义的队列深度。fio总的IO并发数 =iodepth * numjobs。

-filename:定义测试文件(设备)的名称。此处选择文件,则代表测试文件系统的性能,例如:- filename=/opt/fiotest/fiotest.txt;此处选择设备名称,则代表测试裸盘的性能,例:-filename=/dev/vdb1
。如果在已经分区、并创建文件系统,且已写入数据的磁盘上进行性能测试,请注意
filename选择指定文件,以避免覆盖文件系统和原有数据。

-size=100M:定义测试IO操作的数据量,若未指定runtime这类参数,fio会将指定大小的数据量全部 读/写完成,然后才停止测试。该参数的值,可以是带单位的数字,比如size=10G,表
示读/写的数据量为10GB;也可是百分数,比如size=20%,表示读/写的数据量占该设
备总文件的20%的空间。建议测试数据量为内存两倍大,尽量避免缓存影响。

-name=job1:定义测试任务名称。

-bs=4k:定义IO的块大小(block size),单位是k、K、m和M等,默认IO块大小为4 KB。

–output TestResult.log:日志输出到TestResult.log。

-runtime:定义测试时间。如果未配置,则持续将size指定的文件大小,以每次bs值为分块大小读/ 写完。

-group_reporting:定义测试结果显示模式,group_reporting 表示汇总每个进程的统计信息,而非以不同 job汇总展示信息。
 

二.fio的测试用例

1.随机写

fio -ioengine=libaio -bs=16k -direct=1 -thread -rw=randwrite -size=10G -filename=/dev/sda2 \
-name=" 16kB randwrite test" -iodepth=32 -runtime=60

2.随机读

fio -ioengine=libaio -bs=16k -direct=1 -thread -rw=randread -size=10G -filename=/dev/sda2 \
-name="16kB randread test" -iodepth=8 -runtime=60

 

3.顺序写

fio -ioengine=libaio -bs=16k -direct=1 -thread -rw=write -size=10G -filename=/dev/sda2 \
-name="16kB write test" -iodepth=32 -runtime=60

 4.顺序读

fio -ioengine=libaio -bs=16k -direct=1 -thread -rw=read -size=10G -filename=/dev/sda2 \
-name="16kB read test" -iodepth=8 -runtime=60

 

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忍冬行者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值