fio笔记

fio安装

fio 3.21下载地址
下载之后解压tar -xzvf,打开解压后的文件夹

./configure --enable-gfio # 只有加这个参数才能编译安装gfio

make fio
make gfio

make install

CentOS 7 make时缺少头文件问题

我安装的虚拟机是CentOS 7,fio-3.21版本需要更高版本的gcc来编译,可以使用scl来临时升级一下gcc

yum install -y centos-release-scl
yum install -y devtoolset-7-gcc devtoolset-7-gcc-c++
scl enable devtoolset-7 bash

fio参数

-directory:文件创建的目录,当对NFS文件系统进行测试时,该参数可以指定客户端NFS挂载的目录
-name:创建的文件名称
-size:每个线程读写的文件总大小,除非被runtime等限定,否则当读写完成该文件测试才停止。在fio测试开始之前会创建指定大小的文件,文件名由name参数指定
-blocksize、-bs参数,一次读取的字节数

bs=256k means 256k for reads, writes and trims.
bs=8k,32k means 8k for reads, 32k for writes and trims.
bs=8k,32k, means 8k for reads, 32k for writes, and default for trims.
bs=,8k means default for reads, 8k for writes and trims.
bs=,8k, means default for reads, 8k for writes, and default for trims.

-blocksize_range=irange[,irange][,irange], bsrange=irange[,irange][,irange] 指定了block size的范围,相当于动态的block size
-rw参数:当指定了混合读写时,可以指定rwmixread或者rwmixwrite的值,代表read或者write所占的百分比,如果指定了两个并且相加不等于100,后指定的值会覆盖先指定的值

read 顺序读
write 顺序写
rw,readwrite 顺序混合读写
randwrite 随机写
randread 随机读
randrw 随机混合读写

-runtime=int:测试运行的总时间,此时若size指定的文件大小还没有读写完毕则会终止
-ioengine=psync:使用pread/pwrite I/O
-thread:使用线程而不是fork来创建新的任务
-direct=1 绕过机器自带的buffer,使结果更真实
iodepth 1 队列深度
group_reporting 多个任务整合统计信息
--output-format:输出格式(normal',terse', json', orjson+')
--output=:输出的文件名

fio测试结果分析

测试命令

fio -directory=/mnt/nfs/ -direct=1 -iodepth 1 -thread -ioengine=psync -rw=randwrite -bs=4k -size=1G -numjobs=10 -runtime=60 -group_reporting -name=randwrite_4k_1G

测试结果图


fio test result

write:(读模式下)IOPS:平均每秒IO数目,BW:以2为基数的磁盘吞吐量(以10为基数的磁盘吞吐量)(以2为基数的I/O总量 / 线程运行总时间)

clat:Completion latency。最小值,最大值,平均值和标准差。this denotes the time from submission to completion of the I/O pieces.
lat:总的延迟。最小值,最大值,平均值和标准差。

clat:Completion latency统计信息。百分比th=[Completion latency]。表示此完成时延下占比。

bw:带宽统计信息
iops:IOPS的统计信息

lat:I/O完成延迟统计。统计时间为从I/O离开fio到IO完成的这段时间,格式为“时间=百分比”,代表I/O时间为从上一个时间到该时间以下的百分比。

cpu:CPU使用情况。用户和系统时间,以及线程经历的上下文切换数目、系统和用户时间的使用,以及主要和次要的缺页数量。

IO depths=io队列深度
IO submit=单个IO提交要提交的IO数
IO complete= Like the above submit number, but for completions instead.
IO issued= The number of read/write requests issued, and how many of them were short.
IO latency=IO完延迟的分布

gfio应用

使用gfio时需要将fio的参数写成配置文件的格式(XXX.fio)

上述测试中的参数写成配置文件的格式:

[global]
direct=1
directory=/mnt/nfs/
filename=file_size_1G
ioengine=psync
thread
group_reporting

[randwrite_4k_1G]
rw=randwrite
bs=4k
size=1G
runtime=60
numjobs=10

randwrite_4k_1G下为一个job的配置,其中global配置了所有的job共同的信息,fio的基本格式如下

[global]
# all job have this feature 

[job0]
# job 0 feature

[job1]
# job 1 feature

gfio使用过程

  1. 命令行中使用gfio,打开gfio的图形界面。
  2. 点击File,选择Open,打开xxx.fio文件
  3. 然后点击图形界面右下角的connect按钮
  4. 连接之后点击send,将参数发送给host
  5. 点击start开始测试

当测试完成之后测试结果会自动弹出,如下图所示。其中参数含义与fio的输出参数含义表示基本一致。


测试结果 上

测试结果 下

MobaXterm使用gfio

如果虚拟机没有图形界面,可以使用MobaXterm来连接虚拟机并使用远程桌面

服务器端安装软件

yum install xorg-x11-xauth xorg-x11-fonts-* xorg-x11-font-utils xorg-x11-fonts-Type1 xclock

启用 X11 Forwarding

vim /etc/ssh/sshd_config

# 修改如下内容
X11Forwarding yes
X11UseLocalhost no

# 重启ssh服务
service sshd restart

参考文献

【1】Fio安装、测试,Gfio图形化测试I/O读写性能
【2】使用 MobaXterm 开启 linux 的远程桌面
【3】FIO使用详解
【4】fio 2种画图方法 fio_generate_plots 和 gfio

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 198,082评论 5 464
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,231评论 2 375
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 145,047评论 0 327
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,977评论 1 268
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,893评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,014评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,976评论 3 388
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,605评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,888评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,906评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,732评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,513评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,980评论 3 301
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,132评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,447评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,027评论 2 343
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,232评论 2 339