FIO测试磁盘

本文详细介绍FIO命令用于硬盘性能测试的方法,包括注意事项、安装步骤及四种基本测试(随机读写、顺序读写)。文章深入解析参数设置,如filename、direct、rw、bs、size等,并探讨队列深度对磁盘IOPS的影响。

先将注意事项强调下(亲测入坑):
FIO命令对硬盘的写入是覆盖写入,意思就是写入的地方,原先硬盘那里的数据便被破坏了,之前测试的时候就直接在系统盘进行fio测试,当时没发现问题,结果重启就会发现no boot device,启动失败,就是因为系统盘坏了。。

FIO的简单测试实际很简单,具体如下:
安装
https://www.jianshu.com/p/1a3e904d3d5b
简单的测试具体分为随机读,随机写,顺序读,顺序写四步就行了

fio --filename=/dev/vda1 --direct=1 --iodepth 1 --thread --rw=randread --ioengine=psync --bs=4k --size=2G --numjobs=10 --runtime=100 --group_reporting --name=mytest
fio --filename=/dev/vda1 --direct=1 --iodepth 1 --thread --rw=randwrite --ioengine=psync --bs=4k --size=2G --numjobs=10 --runtime=100 --group_reporting --name=mytest
fio --filename=/dev/vda1 --direct=1 --iodepth 1 --thread --rw=read --ioengine=psync --bs=4k --size=2G --numjobs=10 --runtime=100 --group_reporting --name=mytest
fio --filename=/dev/vda1 --direct=1 --iodepth 1 --thread --rw=write --ioengine=psync --bs=4k --size=2G --numjobs=10 --runtime=100 --group_reporting --name=mytest

具体参数解释如下:(如有错误或者添加欢迎指正)

filename=/dev/sda1   #测试文件名称,通常选择需要测试的盘的data目录
direct=1             #测试过程绕过机器自带的buffer。使测试结果更真实
rw=randwrite         #测试随机写的I/O
rw=randrw            #测试随机写和读的I/O
bs=16k               #单次io的块文件大小为16k
bsrange=512-2048     #同上,提定数据块的大小范围
size=5G              #本次的测试文件大小为5g,以每次4k的io进行测试
numjobs=10           #本次的测试线程为10个
runtime=100         #测试时间100秒,如果不写则一直将2g文件分4k每次写完为止
ioengine=psync       #io引擎使用psync方式
rwmixwrite=30        #在混合读写的模式下,写占30%
group_reporting      #关于显示结果的,汇总每个进程的信息
lockmem=1G           #只使用1g内存进行测试
zero_buffers         #用0初始化系统buffer
nrfiles=8            #每个进程生成文件的数量

对于测试结果来说,主要关注以下两个指标即可:
bw和iops

read : io=948896KB, bw=9475.1KB/s, iops=592, runt=100138msec
write: io=380816KB, bw=3802.1KB/s, iops=237, runt=100138msec

这里还有一个重要的参数指标:队列深度–iodepth
队列深度对磁盘IOPS的影响
转载至:
https://www.ksyun.com/blog/dui-lie-shen-du-dui-ci-pan-iopsde-ying-xiang/
原因当队列深度为1时,磁盘的利用率才达到91.85%,说明磁盘还有很多空闲时间可以压榨。对于SSD磁盘,当增加队列深度时,会增加IOPS,同时也会增加响应时间,但达到一定程度后,IOPS反而会下降,此时IO平均响应时间增加较大,因为磁盘利用率已经达到一个稳定状态了
简单来说:队列深度涉及到磁盘空间利用率的多少
结论
1、增加队列深度,可以看到IOPS不会随着队列深度的增加而一直增加,达到一定值后会有所下降。
2、增加队列深度,可以测试出磁盘的峰值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值