FIO基于centos7系统测试磁盘顺序读,随机读,顺序写,随机写等

FIO基于centos7系统测试磁盘顺序读,随机读,顺序写,随机写等

首页休闲益智fio更新时间:2024-08-03
概念

fio是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio 等等。

注意: 性能测试建议直接通过写裸盘的方式进行测试,会得到较为真实的数据。但直接测试裸盘会破坏文件系统结构,导致数据丢失,请在测试前确认磁盘中数据已备份。

以下基于centos7系统做测试。


安装步骤

#yum安装 yum install libaio-devel fio -y #手动安装 yum install libaio-devel wget http://brick.kernel.dk/snaps/fio-2.2.10.tar.gz tar -zxvf fio-2.2.10.tar.gz cd fio-2.2.10 make make install

这里我采用yum的方式安装。


FIO的用法

FIO分顺序读,随机读,顺序写,随机写,混合随机读写模式。

--顺序读模式: fio -filename=/dev/sdb -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=10G -numjobs=30 -runtime=1000 \ -group_reporting -name=mytest --随机读模式: fio -filename=/dev/sdb -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=16k -size=10G -numjobs=30 -runtime=1000 \ -group_reporting -name=mytest --顺序写模式: fio -filename=/dev/sdb -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -size=10G -numjobs=30 -runtime=1000 \ -group_reporting -name=mytest --随机写模式: fio -filename=/dev/sdb -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=10G -numjobs=30 -runtime=1000 \ -group_reporting -name=mytest --混合随机读写模式: fio -filename=/dev/sdb -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=16k -size=10G -numjobs=30 \ -runtime=100 -group_reporting -name=mytest -ioscheduler=noop

说明:

filename=/dev/sdb1 测试文件名称,通常选择需要测试的盘的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=30 本次的测试线程为30个.

runtime=1000 测试时间为1000秒,如果不写则一直将5g文件分4k每次写完为止。

ioengine=psync io引擎使用pync方式

rwmixwrite=30 在混合读写的模式下,写占30%

group_reporting 关于显示结果的,汇总每个进程的信息。

lockmem=1G 只使用1g内存进行测试。

zero_buffers 用0初始化系统buffer。

nrfiles=8 每个进程生成文件的数量。


篇幅有限,这块内容就介绍到这了,后面再介绍下怎么去测试磁盘的IOPS,感兴趣的朋友可以关注一下~

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved