Linux系统中如何使用FIO对硬盘进行压力测试
这篇文章主要介绍Linux系统中如何使用FIO对硬盘进行压力测试,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
FIO是测试IOPS的非常好的工具,用来对磁盘进行压力测试和验证。磁盘IO是检查磁盘性能的重要指标,可以按照负载情况分成照顺序读写,随机读写两大类。FIO是一个可以产生很多线程或进程并执行用户指定的特定类型I/O操作的工具,FIO的典型用途是编写和模拟的I/O负载匹配的作业文件。也就是说FIO 是一个多线程io生成工具,可以生成多种IO模式,用来测试磁盘设备的性能(也包含文件系统:如针对网络文件系统 NFS 的IO测试)。
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=mytestfor 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=mytestdone
测试结果
❝
–型号: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
以上是“Linux系统中如何使用FIO对硬盘进行压力测试”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341