fio性能测试-环境搭建,功能介绍,测试讲解
fio性能测试-环境搭建,功能介绍,测试讲解
Fio介绍:FIO(Flexible I/O Tester)是一个用于测试磁盘、文件系统、块设备和网络设备性能的工具。它可以模拟不同类型的I/O负载,包括随机或顺序读写、混合读写、随机或顺序访问等。FIO提供了丰富的选项和参数,可以对测试进行高度定制化配置,以满足各种应用场景和需求。FIO是开源软件,可在Linux、Unix、Windows等多种平台上运行。
1.测试环境
系统:CentOS Linux release 7.9.2009 (Core)
硬盘:7.7TB(RAID5 SAS 1.2TB*8)
2.fio工具下载
1) yum直接下载
yum install fio -y

查看版本:fio –v

2) 下载fio解压包离线安装
下载地址:https://github.com/axboe/fio
百度微云:https://pan.baidu.com/s/1OX18q2yiB_ZE0CTL8k19kw 提取码:2023
腾讯微云:https://share.weiyun.com/kU9ecAC7 密码:632jf8

libaio-devel是依赖包,如不安装fio无法使用,会报错:fio: engine libaio not loadable fio: failed to load engine
rpm –ivh libaio-*

unzip fio-3.6.zip #解压
ls
cd fio-3.6/fio-3.6 #进入fio解压包
chmod +x * #打开权限
./configure #配置环境
make && make install #编译安装

查看是否安装成功:fio –v
3.功能介绍


4.性能测试
顺序读(rand):
fio --filename=/dev/sd? --ioengine=libaio --direct=1 --rw=read --bs=1M --numjobs=4 --iodepth=32 --runtime=300 --time_based --thread --norandommap --group_reporting --name=fiotest
顺序写(write):
fio --filename=/dev/sd? --ioengine=libaio --direct=1 --rw=write --bs=1M --numjobs=4 --iodepth=32 --runtime=300 --time_based --thread --norandommap --group_reporting --name=fiotest
随机读(randread):
fio --filename=/dev/sd? --ioengine=libaio --direct=1 --rw=randread --bs=4K --numjobs=4 --iodepth=32 --runtime=300 --time_based --thread --norandommap --group_reporting --name=fiotest
随机写(randwrite):
fio --filename=/dev/sd? --ioengine=libaio --direct=1 --rw=randwrite --bs=4K --numjobs=4 --iodepth=32 --runtime=300 --time_based --thread --norandommap --group_reporting --name=fiotest

结果分析:

测试结果:bw=1142Mib/s
也可以使用以下命令可直接查看结果(在参数末尾添加 | grep BW ):
fio --filename=/dev/sda --ioengine=libaio --direct=1 --rw=write --bs=1M --numjobs=4 --iodepth=32 --runtime=300 --time_based --thread --norandommap --group_reporting --name=fiotest |grep BW
以下是输出结果:

测试结果有了怎么判断自己测试的数据是否合格呢?
根据你测试的硬盘型号,去硬盘官网查询硬盘的读写标准


编制fio性能测试图进行对比

我这里写了一个脚本,会自动生成测试日志,有需要的同学,可以关注我,我发给你。


#The write:zuijiaz@outlook.com
#Time of creation:2023.04.13
fio性能测试-环境搭建,功能介绍,测试讲解的更多相关文章
- Mac 性能测试环境搭建——理论篇
此篇为博主原创内容,若转载请写明出处,谢谢! 前言在搭建之初,我们要思考的2个点:1.性能怎么测试?2.性能的测试环境如何搭建(该如何去做)?1.什么是性能? 个人理解为:合理的架构.低耦合.高 ...
- Elasticsearch环境搭建和介绍(Windows)
一.Elasticsearch介绍和安装 1.1 介绍 Elastic Elastic官网:https://www.elastic.co/cn/ Elastic有一条完整的产品线:Elasticse ...
- kafka环境搭建及librdkafka测试
kafka环境搭建及librdkafka测试 (2016-04-05 10:18:25) 一.kafka环境搭建(转自http://kafka.apache.org/documentation.h ...
- 二进制搭建kubernetes多master集群【开篇、集群环境和功能介绍】
本文主要说明kubernetes集群使用组建的版本和功能介绍.. 一.组件版本 Kubernetes 1.12.3 Docker 18.06.1-ce Etcd 3.3.10 Flanneld 0.1 ...
- 转:(WIN)S04-CH01 PCIE XDMA开发环境搭建以及环路测试
摘要: 这一章开始主要介绍 XILINX FPGA PICE IP XDMA IP的使用.XDMA IP使用部分教程分LINUX 篇和WINDOWS篇两个部分.通过实战,面向应用,提供给大家 XILI ...
- Redis环境搭建和代码测试及与GIS结合的GEO数据类型预研
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 1.1传统MySQL+ Memcached架构遇到的问题 My ...
- Jmeter环境搭建详细介绍
[前言] 欢迎来到我的博客,知识在于分享,如有不足之处,希望指出,大家共同进步学习! [JDK检查和安装] 现在市面上比较普遍的性能测试工具无非就LoadRunner和Jmeter,本人一直秉持着便宜 ...
- windows环境下mosquitto环境搭建与mqtt测试
https://blog.csdn.net/pgpanda/article/details/51800865 工作需求,自己在windows下搭建了一个mosquitto环境测试mqtt 话不多说,直 ...
- Jmeter学习一:Jmeter性能测试环境搭建(Windows下)
最近刚开始接触Jmeter性能测试,现总结环境搭建如下: 一.windows安装JDK步骤与环境变量配置: 1.先将下载的JDK安装到其默认目录:C:\Program Files\Java\jdk1. ...
- Libgdx环境搭建及介绍
Libgdx简单介绍: libgdx是一个跨平台的2D/3D的游戏开发框架,它由Java/C/C++语言编写而成.ibgdx兼容大多数微机平台(标准JavaSE实现,能执行在Mac.Linux.Win ...
随机推荐
- 数据库ip被锁了怎么办
由于多次访问失败,导致ip被限制,登录时会报错 Internal error/check (Not system error) 如何解决: 找一台同事的机子,(或者修改自己的ip),然后打开sql 的 ...
- 学生管理系统CLI版
学生管理系统CLI版 学生类 package com.itheima_03; public class Student { String sid; String name; String age; S ...
- k8s 部署单点 rabbitmq
创建pvc vim rabbitmq-pvc.yaml kind: PersistentVolumeClaim apiVersion: v1 metadata: name: rabbitmq-data ...
- OSIDP-进程描述和控制-03
什么是进程 进程是由一组元素组成的实体,基本元素包括程序代码和与代码相关的数据集(set of data),另外还包括 标识符:一个进程用于和其他进程区分的唯一标识. 状态:进程所处的状态. 优先级: ...
- Spring 笔记三 事务
一.环境搭建 [1]导包 [2]编写配置文件 1. 配置扫描注解 2. 引入外部资源文件 3. 配置数据源 4. 配置JdbcTemplate 操作数据库 5. 配置声明式事务 5.1 Spring ...
- Crypto入门 (六)幂数加密(云影密码)
前言: 这次题目说的是幂数加密,但是它本身 幂数加密: 题目:8842101220480224404014224202480122 分析一波,只有8.4.2.1.0五种数字,然后先根据提示百度一下幂数 ...
- PHP判断0和空的方法
可以兼容,传参数,或者不参数与0的判断 if ( isset($data['other_id']) && (!empty($data['other_id']) || is_nume ...
- Web服务器2
Web服务器2 基于华为鲲鹏云服务器CentOS中(或Ubuntu),使用Linux Socket实现: Web服务器的客户端服务器,提交程序运行截图 实现GET即可,请求,响应要符合HTTP协议规范 ...
- Windhill获取团队角色、用户
//获取容器团队里的用户和角色,也可以获取容器团队里某一角色的用户 WTContainer pContainer = project.getContainer(); if (pContainer in ...
- element表格样式的修改
修改表格头部背景 .el-table th{ background: #f00; } 修改表格行背景 .el-table tr{ background: #f00; } 修改斑马线表格的背景 .el- ...