使用fio测试磁盘I/O性能

简介:

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

安装fio:

官网网站:http://brick.kernel.dk/snaps/

wget http://brick.kernel.dk/snaps/fio-2.2.10.tar.gz (从官网下载fio的tar包)
tar -zxvf fio-2.2.10.tar.gz                 (解压)
cd fio-2.2.10
make && make install                  (安装)
yum install libaio-devel                 (为了支持同步I/O)

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

fio参数:

filename=/dev/sdb    #测试文件(设备)的名称,通常选择需要测试的data目录(可以通过冒号分割同时指定多个文件,如filename=/dev/sda:/dev/sdb。)

direct=1             #测试过程绕过机器自带的buffer(缓冲区),使测试结果更真实

rw=randwrite         ·     #测试随机写的I/O

rw=randread             #测试随机读的I/O

rw=randrw            #测试随机读写的I/O

bs=4k              #单次I/O的块文件大小为4K

size=20G           #本次测试的文件大小为20G,以每次4K的I/O进行测试

numjobs=30         #本次的测试线程为30个

runtime=600       #测试时间为600秒,如果不写,则一直将20G文件分每次4K写完为止

ioengine=psync      #I/O引擎使用psync方式(I/O引擎,现在fio支持19种ioengine。默认值是sync同步阻塞I/O,libaio是Linux的native异步I/O。关于同步异步,阻塞和非阻塞模型可以参考文章“使用异步 I/O 大大提高应用程序的性能”。
http://www.ibm.com/developerworks/cn/linux/l-async/)

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

name          #指定job的名字,在命令行中表示新启动一个job。

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

thread          #线程

fio实例:

随机读4K:

fio -filename=/dev/sdb:/dev/sdc:/dev/sdd -direct=1 -iodepth=16 -thread -rw=randread -ioengine=libaio -bs=4k -size=20G -numjobs=30 -runtime=600 -group_reporting -name=mytest

随机写4K:

fio -filename=/dev/sdb:/dev/sdc:/dev/sdd -direct=1 -iodepth=16 -thread -rw=randwrite -ioengine=libaio -bs=4k -size=20G -numjobs=30 -runtime=600 -group_reporting -name=mytest

顺序读1M:

fio -filename=/dev/sdb:/dev/sdc:/dev/sdd -direct=1 -iodepth=16 -thread -rw=read -ioengine=libaio -bs=1M -size=20G -numjobs=30 -runtime=600 -group_reporting -name=mytest

顺序写1M:

fio -filename=/dev/sdb:/dev/sdc:/dev/sdd -direct=1 -iodepth=16 -thread -rw=write -ioengine=libaio -bs=1M -size=20G -numjobs=30 -runtime=600 -group_reporting -name=mytest

混合随机读写:

fio -filename=/dev/sdb:/dev/sdc:/dev/sdd -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

实例测试:

时间: 2024-10-10 15:17:10

使用fio测试磁盘I/O性能的相关文章

使用fio测试磁盘I/O性能报告

浪潮存储服务器SA5212 I/O基准性能测试报告 1.测试目的 本次测试针对的是浪潮存储服务器SA5212的I/O基准性能,测试维度主要分为磁盘RAID5和RAID10下的读写吞吐量,包括顺序读写,随机读写 2.服务器软硬件环境 系统环境:Centos 7.2 硬件资源:系统盘4*500G SSD,RAID10:存储磁盘12*6T SATA,7200转 3.测试工具 fio - Flexible IO Tester 主要参数说明: filename=/dev/sdb   #测试文件名称,通常选

linux使用FIO测试磁盘的iops 【转载】

linux使用FIO测试磁盘的iops 2013-09-23 10:59:21 分类: LINUX FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio 等等.fio 官网地址:http://freshmeat.net/projects/fio/ 一,FIO安装wget http:/

SQLIO 模拟随机或者顺序的方式来测试磁盘IO的性能

SQLIO 功能:磁盘IO压力测试工具,SQLIO主要是模拟随机或者顺序的方式来测试磁盘IO的性能. SQLIO Disk Subsystem Benchmark Tool工具下载地址: http://www.microsoft.com/en-us/download/details.aspx?id=20163 RAID存储技术在SQL Server服务器上已经被广泛使用,对于存储介质,有很多层面的硬件和固件,以及存储管理软件配置.如果设置不恰当,同样的硬件最后的效能会差别很大. 微软提供了一个工

vdbench和fio测试磁盘性能的对比总结

一.安装 1.安装vdbench,首先安装java:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 其次下载vdbench安装包并进行安装:http://pan.baidu.com/s/1b7XooY: #mv vdbench50406 /var/www/html/ #unzip vdbench50406.zip -d vdbench504 启动基准测试之前,使用默认的参数检查

Azure上linux虚机使用fio测试磁盘,以及附加数据盘建立raid提高iops

客户在 Azure中建立虚拟机后,通常有磁盘性能测试的需求. 针对基Azure 上 Centos  Linux虚拟机环境进行磁盘性能测试. 在Azure中建立Linux虚拟机后,可以看见两个磁盘分别为sda和sdb,其中sda为系统盘,sdb为临时盘.临时盘为虚拟机所在物理服务器的本地存储,在Windows Azure执行计划内或计划外维护时,虚拟机会移动到其他宿主服务器,所以会造成临时盘的内容丢失.除系统盘和临时盘外,Windows Azure还允许用户挂载数据盘.对于Linux虚拟机,系统盘

linux使用FIO测试磁盘的iops

FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio 等等.fio 官网地址:http://freshmeat.net/projects/fio/ 一,FIO安装wget http://brick.kernel.dk/snaps/fio-2.2.5.tar.gz yum instal

使用FIO测试磁盘iops

我们如何衡量一个存储的性能呢?IOPS(Input/Output OperationsPer Second),即每秒进行读写(I/O)操作的次数是国际上通用的存储性能衡量标准,IOPS越高意味着在同一时间系统能够处理的用户请求越多,能够承载用户访问压力就越大,满足同样性能需求的配置就越低,由此可以为客户带来更高的生产效率和价值.      各存储厂商增加被测产品IOPS值的办法有两个:尽量使用小容量(如36GB. 73GB).高转速(15krpm)的磁盘,尽量增加被测产品的磁盘数量,因为单块磁盘

linux 使用FIO测试磁盘iops(转载)

FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎, 包括:sync,mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio 等等. fio 官网地址:http://freshmeat.net/projects/fio/ 一,FIO安装 wget http://brick.kernel.dk/snaps/fio-2.0.7.tar.gz yum ins

使用SQLIO测试磁盘性能

SQLIO 是一个用于测试存储系统能力的命令行工具,用以获取存储系统相关的性能指标,以判断系统的 I/O 处理能力. 在微软的网站可以下载 SQLIO 的安装包,安装后目录中会出现如下文件: EULA.rtf – End-user license agreement that covers sqlio usage. param.txt – Configuration options that identify the target drives, test file names, and spe