快捷搜索:  汽车  科技

centos7磁盘规划(FIO基于centos7系统测试磁盘顺序读)

centos7磁盘规划(FIO基于centos7系统测试磁盘顺序读)rw=randwrite 测试随机写的I/Odirect=1 测试过程绕过机器自带的buffer。使测试结果更真实。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_reportin

概念

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

centos7磁盘规划(FIO基于centos7系统测试磁盘顺序读)(1)

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

以下基于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的方式安装。

centos7磁盘规划(FIO基于centos7系统测试磁盘顺序读)(2)


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

centos7磁盘规划(FIO基于centos7系统测试磁盘顺序读)(3)

说明:

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,感兴趣的朋友可以关注一下~

centos7磁盘规划(FIO基于centos7系统测试磁盘顺序读)(4)

猜您喜欢: