良许Linux教程网 干货合集 Linux系统中使用FIO对硬盘进行压力测试

Linux系统中使用FIO对硬盘进行压力测试

FIO是测试IOPS的非常好的工具,用来对磁盘进行压力测试和验证。磁盘IO是检查磁盘性能的重要指标,可以按照负载情况分成照顺序读写,随机读写两大类。FIO是一个可以产生很多线程或进程并执行用户指定的特定类型I/O操作的工具,FIO的典型用途是编写和模拟的I/O负载匹配的作业文件。也就是说FIO 是一个多线程io生成工具,可以生成多种IO模式,用来测试磁盘设备的性能(也包含文件系统:如针对网络文件系统 NFS 的IO测试)。

u=322787299,3107581471&fm=26&gp=0

FIO安装

wget http://brick.kernel.dk/snaps/fio-2.0.7.tar.gz yum install libaio-devel 安装依赖。我们一般使用libaio,发起异步IO请求。 tar -zxvf fio-2.0.7.tar.gz cd fio-2.0.7 make make install

简单介绍fio的参数

ioengine: 负载引擎,我们一般使用libaio,发起异步IO请求。 bs: IO大小 direct: 直写,绕过操作系统Cache。因为我们测试的是硬盘,而不是操作系统的Cache,所以设置为1。 rw: 读写模式,有顺序写write、顺序读read、随机写randwrite、随机读randread等。 size: 寻址空间,IO会落在 [0, size)这个区间的硬盘空间上。这是一个可以影响IOPS的参数。一般设置为硬盘的大小。 filename: 测试对象 iodepth: 队列深度,只有使用libaio时才有意义。这是一个可以影响IOPS的参数。 runtime: 测试时长

常见测试方法

顺序读

fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest

顺序写

fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest

随机读

fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest

随机写

fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest

混合随机读写

fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=100 -group_reporting -name=mytest -ioscheduler=noop

多盘fio测试脚本

#/bin/bash
#author wsm
#date 2019/06/17
#fio顺序读测试
#-filename 测试对象
#-direct=1测试过程绕过机器自带的buffer。使测试结果更真实
#-iodepth 1
#-thread
#-rw=read
#-ioengine=psync io引擎使用pync方式
#-bs=16k单次io的块文件大小为16k
#-size=100G测试文件大小
#-numjobs=30测试线程为30
#-runtime=1000 测试时间为1000秒
#-group_reporting 关于显示结果的,汇总每个进程的信息
#-name=mytest
for i in {a..z} a{a..z};do
 fio -filename=/dev/sd$i -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=100G -numjobs=30 -runtime=1000 -group_reporting -name=mytest
done

测试结果

–型号:XXX; 硬盘:900G/SAS 10K/2.5寸硬盘/RAID18k 随机写:iops=7988k 随机读:iops=111908k 混合读写(读写7:3):读iops=1114 写iops=4791m 顺序写:iops=1701m 顺序读:iops=246 1m 顺序读写(读写7:3):读iops=134 写iops=56

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

img
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部