一、FIO工具安装:

1、查看fio是否安装

rpm –qa|grep fio

2、源码安装(2、3、4任选一个,推荐方法:3、rpm 的二进制安装)

  • 官网地址:http://freecode.com/projects/fio/
  • github地址:https://github.com/axboe/fio
  • 安装
wget https://github.com/axboe/fio/archive/refs/tags/fio-3.14.tar.gz
tar -zxvf fio-3.14.tar.gz
./configure
make
make install

3、如果未成功就用 rpm 安装 (推荐)

  • 官网地址:https://pkgs.org/download/fio
  • 获取fio的rpm安装包:http://mirror.centos.org/centos/7/os/x86_64/Packages/fio-3.7-2.el7.x86_64.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/fio-3.7-2.el7.x86_64.rpm
yum install libaio-devel
yum install libibverbs -y
yum install libpmem -y
yum install librados2 -y
yum install librbd1
rpm -ivh fio-3.7-2.el7.x86_64.rpm

4、yum安装(不推荐)

yum install fio

5、测试

fio

二、FIO工具使用方法:

参数说明:

  • -rw=randwrite:定义测试时的读写策略,可选值如下:随机读:randread,随机写:randwrite,顺序读: read,顺序写:write,混合随机读写:randrw0

  • -ioengine=libaio:libaio指的是异步模式,如果是同步就要用sync。定义fio如何下发IO请求,通常有同步IO和异步IO:同步IO一次只能发出一个IO请求, 等待内核完成后才返回。这样对于单个线程IO队列深度总是小于1,但是可以透过多个线程并发执行来解决。通常会用16~32个线程同时工作把IO队列深度塞满。异步IO则通常使用libaio这样的方式一次提交一批IO 请求,然后等待一批的完成,减少交互的次 数,会更有效率

  • -direct=1:定义是否使用direct IO,可选值如下:值为0,表示使用buffered IO;值为1,表示使用 direct IO

    -thread:使用pthread_create创建线程,另一种是fork创建进程。进程的开销比线程要大,一般都采用thread测试。

  • –numjobs=1:定义测试的并发线程数

  • -iodepth=64:定义测试时的IO队列深度,默认为1。此处定义的队列深度是指每个线程的队列深度, 如果有多个线程测试,意味着每个线程都是此处定义的队列深度。fio总的IO并发数 =iodepth * numjobs。

  • -filename:定义测试文件(设备)的名称。此处选择文件,则代表测试文件系统的性能,例如:- filename=/opt/fiotest/fiotest.txt;此处选择设备名称,则代表测试裸盘的性能,例:-filename=/dev/vdb1
    。如果在已经分区、并创建文件系统,且已写入数据的磁盘上进行性能测试,请注意
    filename选择指定文件,以避免覆盖文件系统和原有数据。

  • -size=100M:定义测试IO操作的数据量,若未指定runtime这类参数,fio会将指定大小的数据量全部 读/写完成,然后才停止测试。该参数的值,可以是带单位的数字,比如size=10G,表
    示读/写的数据量为10GB;也可是百分数,比如size=20%,表示读/写的数据量占该设
    备总文件的20%的空间。建议测试数据量为内存两倍大,尽量避免缓存影响。

  • -name=job1:定义测试任务名称。

  • -bs=4k:定义IO的块大小(block size),单位是k、K、m和M等,默认IO块大小为4 KB。

  • –output TestResult.log:日志输出到TestResult.log。

  • -runtime:定义测试时间。如果未配置,则持续将size指定的文件大小,以每次bs值为分块大小读/ 写完。

  • -group_reporting:定义测试结果显示模式,group_reporting 表示汇总每个进程的统计信息,而非以不同 job汇总展示信息。

其它信息:

  • lockmem=1g 只使用1g内存进行测试。
  • zero_buffers 用0初始化系统buffer。
  • nrfiles=8 每个进程生成文件的数量。

磁盘读写常用测试点:

  • Read=100% Ramdon=100% rw=randread (100%随机读)
  • Read=100% Sequence=100% rw=read (100%顺序读)
  • Write=100% Sequence=100% rw=write (100%顺序写)
  • Write=100% Ramdon=100% rw=randwrite (100%随机写)
  • Read=70% Sequence=100% rw=rw, rwmixread=70, rwmixwrite=30
    (70%顺序读,30%顺序写)
  • Read=70% Ramdon=100% rw=randrw, rwmixread=70, rwmixwrite=30
    (70%随机读,30%随机写)

每次测试前执行 echo 3 > /proc/sys/vm/drop_caches 清理缓存。
-ioengine=libaio、-iodepth=32可选/可不选

1)顺序写:

 fio -direct=1 -iodepth=32 -rw=write -ioengine=libaio -bs=4M -size=128G -numjobs=1 \-runtime=600 -group_reporting -filename=/dev/[device] -name=Write_BandWidth_Test

2)随机写:

 fio -direct=1-iodepth=128 -rw=randwrite -ioengine=libaio -bs=4K -size=128G - numjobs=1 \-runtime=600 -group_reporting -filename=/dev/[device] -name=Rand_Write_IOPS_Test

3)顺序读:

fio -direct=1 -iodepth=32 -rw=read -ioengine=libaio -bs=4M -size=128G -numjobs=1 \
-runtime=600 -group_reporting -filename=/dev/[device] -name=Read_BandWidth_Test

4)随机读:

fio -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -bs=4K -size=128G - numjobs=1 \
-runtime=600 -group_reporting -filename=/dev/[device] -name=Rand_Read_IOPS_Test

5)混合随机读写:

  • 描述:70%随机读,30%随机写,以2M块文件大小向/dev/sdb:/dev/sdc:/dev/sdd三个分区存储上随机读写300s时间
fio -output=/tmp/100S100W -name=100S100W -filename=/dev/sdb:/dev/sdc:/dev/sdd -ioengine=libaio -direct=1 -blocksize=2M -runtime=300 -rw=randrw -rwmixread=70 -rwmixwrite=30 -iodepth=32 -numjobs=1

三、监控磁盘IO命令

  • iostat –mx 1 (iostat的安装方法:yum install sysstat)
[root@localhost]#  iostat -mx 1
Linux 2.6.32-220.el6.x86_64 (localhost.localdomain) XXXX年XX月XX日 _x86_64_ (32 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
12.74 0.00 8.95 0.04 0.00 78.27
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util
sda 0.18 10.05 0.31 7.67 0.01 0.07 18.77 0.00 0.28 0.14 0.11
sdb 0.69 0.10 15.74 11.21 0.17 2.45 190.77 0.34 12.10 0.23 0.63
sdc 0.43 0.06 9.58 5.94 0.13 1.20 176.32 0.03 1.70 0.16 0.25```

磁盘测试工具FIO工具安装和使用方法相关推荐

  1. 磁盘性能测试工具-FIO的安装及使用

    文章目录 FIO介绍 FIO安装 在线安装 离线安装 磁盘测试 命令行方式 测试结果说明 命令参数说明 配置文件方式 dd命令介绍 使用方法 FIO介绍 FIO是一款测试IOPS的工具,用于对磁盘进行 ...

  2. 云测试软件详解,云计算存储测试:FIO工具入门与实战

    一.关于FIO 1.1 简介 FIO是一个开源的I/O压力测试工具,主要是用来测试磁盘的IO性能,也可测试cpu,nic的IO性能.它可以支持13种不同的I/O引擎,包括:sync,mmap, lib ...

  3. 手动安装sys驱动文件_海龙工具的正确安装及卸载方法,自己动手丰衣足食

    海龙的安装以及卸载方法非常简单,掌握了随时随地任意电脑都可开启高效高质的绘图方式.把打开潘多拉正版海龙功能的钥匙牢牢地掌握在自己手中吧! ⬇⬇⬇按需浏览,重点标星★ 一.下载海龙安装包/CAD版本 二 ...

  4. 爬取网站视频命令行工具you-get的安装及使用方法

    爬取网站视频命令行工具you-get安装及使用方法 软件简介 下载方法 Step.01 Step.02 使用方法 报错提示 软件简介 you-get 是一个跨平台命令行视频.音频与图像下载工具,支持国 ...

  5. alien工具的快速安装及使用方法

    alien工具的作用: 一个将rpm包转换为deb包的工具 alien工具的安装: apt-get install alien alien的使用: 先进入rpm包的目录,再在终端使用命令 alien ...

  6. 【Source教程】游戏SDK工具的下载安装与使用方法

    返回[Source教程]文章目录 一.下载与安装 SDK,全称为Software Development Kit,翻译过来就是软件开发工具包.那么既然我们是做Source引擎的开发,那么SDK显然是必 ...

  7. 图片标注工具LabelImg的安装及使用方法

    项目地址:LabelImg  下载地址:Windows/Linux  百度云备份:最近几个版本 密码: cnn6 前言 我们知道,图片标注主要是用来创建自己的数据集,方便进行深度学习训练.本篇博客将推 ...

  8. 利用windows的rar工具创建自解压安装文件的方法

    在项目开发中有时候遇到要对项目进行升级时,如果是通过网络升级,就可以将所要升级的文件打包成一个自解压的安装文件,然后让升级程序下载到本地进行升级. 制作自解压文件的方法的步骤如下图所示: 1.选择要压 ...

  9. 【测试】 FIO:ceph/磁盘IO测试工具 fio(iodepth深度)

    目录 随看随用 NAS文件系统测试 块系统测试 FIO用法 FIO介绍 FIO 工具常用参数: FIO结果说明 I/O 的重放('录'下实际工况的IO,用fio'重放') fio工作参数可以写入配置文 ...

最新文章

  1. python3 列表_Python3 列表生成
  2. 研究人员使用宽场脑成像技术研究意图控制,探索更好的脑机接口使用方式
  3. EAS中的管理单元、组织单元理解
  4. LeetCode:Largest Number - 求整型数组中各元素可拼合成的最大数字
  5. JAVA类和对象访问_Java类和对象
  6. java构造器_Java构造器就是这么简单!
  7. 读取CSV文件并将值存储到数组中
  8. 2018计算机二级c知识,2018全国计算机二级考试C语言常考知识点归纳
  9. HttpMessageConvert
  10. Android 6.0 动态权限申请注意事项
  11. 这三款提升工作效率的小工具,你都用过吗?
  12. 【python办公自动化(17)】利用python向PPT文档中写入内容(证书生成器)
  13. IE条件注释意义及用法
  14. 基于机器学习的文本分类算法的研究
  15. postgresql 使用处理 like 'xxoo' 、like 'xxoo%' 、like '%xxoo'、like '%xxoo%'
  16. scala当中的文件操作、网络请求和隐式转换
  17. 记一次safari浏览器正则表达式兼容问题
  18. java虚拟机堆空间
  19. 你是我今生最美的相遇
  20. CSS综合案例-品优购电商04

热门文章

  1. wm8960驱动:裸机代码研读
  2. project软件安装包含最新版本
  3. 2021丨边缘计算领域值得关注的新书
  4. 中科大徐童:AI×Talent数据驱动的智能人才计算
  5. 程序员是如何看待薪资被高估的?内容过于真实......
  6. Linux/Windos搭建安装Kaldi环境实现ASR语音识别
  7. SAE 841油铜棒SAE 841标准化学成分
  8. 词云中去重复的词_如何用精准蓝海词做新品标题,上架即上首页!
  9. Qt MVD框架下修改视图中数据项/标题的背景颜色说明(Qt 5.10.1)
  10. python量化分析数据_Python数据分析_量化分析.pdf