fio命令入门到跑路(千万不能在系统所在的分区测试硬盘性能)

  


fio是一种I/O工具,用于基准测试和压力/硬件验证。它支持19种不同类型的I/O引擎(同步,mmap、libaio posixaio, SG v3,拼接,null,网络,syslet, guasi, solarisaio等)、I/O优先级(适用于较新的Linux内核),评估I/O,分叉或线程作业等等。它可以在块设备和文件上工作.fio以简单易懂的文本格式接受职位描述。包含几个示例作业文件.fio显示各种I/O性能信息,包括完整的IO延迟和百分位数.fio在许多地方广泛使用,用于基准测试,QA和验证目的。它支持Linux, FreeBSD, NetBSD, OpenBSD, OS X OpenSolaris, AIX, hp - ux, Android和Windows。
fio官网地址:http://freshmeat.net/projects/fio/

安装:,,

,,,,,,,yum安装fio - y

 fio命令入门到跑路(千万不能在系统所在的分区测试硬盘性能)

用法

,,,,,fio分顺序读,-=阅读,随机读- r=randread顺序写- r=写,随机写- r=randwrite混合随机读写模式,-=randrw

参数:

,,,,,,文件名:指定文件(设备)的名称。可以通过冒号分割同时指定多个文件,如文件名=/dev/sda:/dev/sdb。

,,,,,,目录:设置文件名的路径前缀。在后面的基准测试中,采用这种方式来指定设备。

,,,,,,名称:指定工作的名字,在命令行中表示新启动一个工作。

,,,,,,直接:bool类型,如果设置成真正的(1),表示不使用输入输出缓冲区。

,,,,,,,ioengine: I/O引擎,现在fio支持19种ioengine。默认值是同步同步阻塞I/O, libaio是Linux的原生异步I/O .

,,,,,,iodepth:如果ioengine采用异步方式,该参数表示一批提交保持的io单元数。该参数可参考文章“Fio压测工具和io队列深度理解和误区”。

,,,,,,rw: I/O模式,随机读写,顺序读写等等。

,,,,,,bs: I/O块大小,默认是4 k。

,,,,,,尺寸:指定工作处理的文件的大小。

,,,,,,numjobs:指定工作的克隆数(线程)。

,,,,,,time_based:如果在运行时指定的时间还没到时文件就被读写完成,将继续重复知道运行时间结束。

,,,,,,运行时:指定在多少秒后停止进程。如果未指定该参数,fio将执行至指定的文件读写完全完成。

,,,,,,group_reporting:当同时指定了numjobs了时,输出结果按组显示。

下面是带数字的解释:

,,,直接=1,,,,,,,,,,,,,#测试过程绕过机器自带的缓冲区。使测试结果更真实   rw=randwrite ,,,,,,,,,, #测试随机写的I/O   rw=randrw ,,,,,,,,,,,,, #测试随机写和读的I/O   ,,b=16 k ,,,,,,,,,,,,,, #单次io的块文件大小为16 k   ,,bsrange=512 - 2048,,,,, #同上,提定数据块的大小范围   ,,大?5 g ,,,,,,,,,,,,, #本次的测试文件大小为5克,以每次4 k的io进行测试   ,,numjobs=30,,,,,,,,,,, #本次的测试线程为30个   ,,运行时=1000,,,,,,,,,#测试时间1000秒,如果不写则一直将5克文件分4 k每次写完为止   ,,ioengine=psync ,,,,,, # io引擎使用psync方式   ,,rwmixwrite=30,,,,,,,, #在混合读写的模式下,写占30%   ,,group_reporting ,,,,, #关于显示结果的,汇总每个进程的信息   ,,lockmem=1 g ,,,,,,,,,, #只使用1 g内存进行测试   ,,zero_buffers ,,,,,,,,用0号初始化系统缓冲区   ,,nrfiles=8,,,,,,,,,,,, #每个进程生成文件的数量

例如:要测试根目录

,,,,,,,,,,,,,,mkdir/测试/
,,,,,,,,fio目录=/测试/?/p>

我建了一个/数据

fio 目录=/数据/,- name=tempfile.dat 直接=1,- r=randwrite  b=4 k =1 m  -numjobs=16, -time_based 运行时=100,-group_reporting

 fio命令入门到跑路(千万不能在系统所在的分区测试硬盘性能)


看看生成的一堆文件

 fio命令入门到跑路(千万不能在系统所在的分区测试硬盘性能)

#复制下面的配置内容,将目录=/道路//测试修改为你测试硬盘挂载目录的地址,并另存为fio。参看

fio命令入门到跑路(千万不能在系统所在的分区测试硬盘性能)