FIO使用指南

前言

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

测试准备

工具:fio - Flexible IO Tester

官方网站:

http://freecode.com/projects/fio

http://brick.kernel.dk/snaps/

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

CentOS可以直接使用yum安装

#yum安装
yum install libaio-devel fio
#手动安装
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

For gfio, gtk 2.18 (or newer), associated glib threads, and cairo are required

to be installed.  gfio isn‘t built automatically and can be enabled

with a --enable-gfio option to configure.

示例:

对磁盘进行1024K顺序写

fio cap_1024K_seq_write

[global]

ioengine=libaio

bs=1024K

rw=write

ramp_time=6

runtime=300

direct=1

iodepth=16

#rwmixwrite=20

time_based

[test]

filename=/dev/sda

numjobs=1

结果:

test: (g=0): rw=write, bs=1M-1M/1M-1M/1M-1M, ioengine=libaio, iodepth=16

fio-2.8

Starting 1 process

Jobs: 1 (f=1): [W(1)] [100.0% done] [0KB/68198KB/0KB /s] [0/66/0 iops] [eta 00m:00s]

test: (groupid=0, jobs=1): err= 0: pid=4676: Thu Apr  7 17:22:37 2016

write: io=20075MB, bw=68464KB/s, iops=66, runt=300255msec   #执行多少IO,平均带宽,线程运行时间

slat (usec): min=51, max=5732, avg=291.11, stdev=262.47          #提交延迟

clat (usec): min=1, max=2235.8K, avg=239043.28, stdev=153384.41   #完成延迟

lat (usec): min=367, max=2235.9K, avg=239337.72, stdev=153389.57 #响应时间

clat percentiles (usec):

|  1.00th=[  221],  5.00th=[  442], 10.00th=[ 1004], 20.00th=[108032],

| 30.00th=[228352], 40.00th=[248832], 50.00th=[257024], 60.00th=[268288],

| 70.00th=[280576], 80.00th=[301056], 90.00th=[342016], 95.00th=[477184],

| 99.00th=[806912], 99.50th=[864256], 99.90th=[1122304], 99.95th=[1171456],

| 99.99th=[1646592]

bw (KB  /s): min=  170, max=204800, per=100.00%, avg=68755.07, stdev=27034.84

lat (usec) : 2=0.01%, 4=0.13%, 50=0.06%, 100=0.26%, 250=1.04%

lat (usec) : 500=4.53%, 750=2.61%, 1000=1.33%

lat (msec) : 2=1.18%, 4=0.15%, 10=0.77%, 20=0.77%, 50=1.50%

lat (msec) : 100=4.43%, 250=23.48%, 500=53.23%, 750=3.09%, 1000=1.30%

lat (msec) : 2000=0.19%, >=2000=0.01%

cpu          : usr=0.03%, sys=2.11%, ctx=19066, majf=0, minf=7

IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=103.8%, 32=0.0%, >=64=0.0%   #io队列

submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%  #单个IO提交要提交的IO数

complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%

issued    : total=r=0/w=20060/d=0, short=r=0/w=0/d=0, drop=r=0/w=0/d=0

latency   : target=0, window=0, percentile=100.00%, depth=16    #IO完延迟的分布

Run status group 0 (all jobs):

WRITE: io=20075MB, aggrb=68464KB/s(group总带宽), minb=68464KB/s(最小平均带宽), maxb=68464KB/s(最大平均带宽), mint=300255msec(group中线程的最短运行时间), maxt=300255msec(group中线程的最长运行时间)

Disk stats (read/write):

sda: ios=23/41769(所有group总共执行的IO数), merge=0/149(总共发生的IO合并数), ticks=706/9102766(Number of ticks we kept the disk busy), in_queue=9105836(花费在队列上的总共时间), util=100.00%(磁盘利用率)

FAQ:

1.执行报:No package ‘gtk+-2.0‘ found,No package ‘gthread-2.0‘ found,configure: gtk and gthread not found

A:yum install gtk2-devel

2.执行fio -name test -runtime=30 -filename=/dev/sda3 -ioengine=libaio -direct=1 -bs=1024K -iodepth=16 -rw=write -time_based:

报:fio: /dev/sda3 appears mounted, and ‘allow_mounted_write‘ isn‘t set. Aborting.

A:对sda压测

时间: 2024-08-06 19:47:37

FIO使用指南的相关文章

【转】FIO使用指南

原文地址:http://blog.csdn.net/yuesichiu/article/details/8722417 这个文档是对fio-2.0.9 HOWTO文档的翻译,fio的参数太多了,翻译这个文档时并没有测试每一个参数的功能和使用方法,只有少量参数做了试验,大部分的参数采用的是根据字面翻译或是个人理解的翻译,必然有些出入,先发出来,以后有使用的时候再被充和修改.在另一个文档中会对fio自带的实例进行分析,可能会更为清晰一些. fio这个工具实在太强大了,列举一下他的NB之处吧 1)支持

最全解析如何正确学习JavaScript指南,必看!

划重点 鉴于时不时,有同学私信问我:怎么学前端的问题.这里统一回复一下,如下次再遇到问我此问题同学,就直接把本文链接地址发给你了. "前端怎么学"应该因人而异,别人的方法未必适合自己.就说说我的学习方法吧:我把大部分时间放在学习js上了.因为这个js的学习曲线,先平后陡.项目实践和练习啥的,我不说了,主要说下工作之外的时间利用问题.我是怎么学的呢,看书,分析源码.个人这几天统计了一下,前端书籍目前看了50多本吧,大部分都是js的.市面上的书基本,差不多都看过. 第一个问题:看书有啥好处

微信Android接入指南

注:本文为微信Android终端开发工具的新手使用教程,只涉及教授SDK的使用方法,默认读者已经熟悉IDE的基本使用方法(本文以Eclipse为例),以及具有一定的编程知识基础等. 1.申请你的AppID 请到 开发者应用登记页面 进行登记,登记并选择移动应用进行设置后,将该应用提交审核,只有审核通过的应用才能进行开发. 2.下载微信终端开发工具包 开发工具包主要包含3部分内容:(其中,只有libammsdk.jar是必须的) - libammsdk.jar(每个第三方应用必须要导入该sdk库,

【资源共享】Rockchip I2C 开发指南 V1.0

2C设备的设备应用非常广泛,常见的包含重力传感器,触摸屏驱动芯片,音频解码等 这个文档是RK3399的I2C开发文档:<Rockchip I2C 开发指南 V1.0> 内容预览: 下载地址:http://developer.t-firefly.com/thread-12495-1-1.html

Spark性能优化指南——高级篇

Spark性能优化指南--高级篇 [TOC] 前言 继基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为<Spark性能优化指南>的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题. 数据倾斜调优 调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题--数据倾斜,此时Spark作业的性能会比期望差很多.数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能. 数据倾斜发生时的现象 绝大多数tas

&quot;WannaCry&quot;勒索病毒用户处置指南

"WannaCry"勒索病毒用户处置指南 原文: http://mp.weixin.qq.com/s/ExsribKum9-AN1ToT10Zog 前言:北京时间2017年5月12日晚,勒索软件"WannaCry"感染事件爆发,全球范围内99个国家遭到大规模网络攻击,被攻击者电脑中的文件被加密,被要求支付比特币以解密文件:众多行业受到影响,比如英国的NHS服务,导致至少40家医疗机构内网被攻陷,电脑被加密勒索:而我国众多行业也是如此,其中又以教育网最为显著,导致部分

用FIO测试存储性能

fio,又称为Flexible IO Tester,是Jens Axboe编写的测试程序.Jens是Linux Kernel中blockIO subsystem的维护者.所以这个工具的权威性是毋庸置疑的.它支持的操作系统非常多,包含linux, windows, AIX, HPUX, freeBSD等. FIO的功能非常强劲,这里只介绍最常用的基本功能. FIO官方网站是:http://freecode.com/projects/fio Window是安装文件下载网站:http://bluest

使用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   #测试文件名称,通常选

servlet和jsp学习指南(一)servlet

近期接触了些纯servlet与jsp的编程项目,顺便把<servlet和jsp学习指南>这本书拿出来看看,感悟良多.记下随笔,以便会议. 要编写一个servlet首先要实现Servlet或者继承HttpServlet package test.com.servlet; import java.io.IOException; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet