首页 > 其他分享 >超硬核!一篇文章说全、说全磁盘性能测试工具-Fio

超硬核!一篇文章说全、说全磁盘性能测试工具-Fio

时间:2024-08-19 08:54:10浏览次数:13  
标签:说全 -- Fio 测试 Linux 测试工具 安装 fio 硬核

Part1  什么是Fio

Fio(Flexible I/O Tester) 是一款由 Axboe 开发的一款开源磁盘I/O性能测试工具,目前支持Linux及Windows平台,目前已发布的最新版本为3.37。Fio允许你生成许多线程或进程,执行指定的特定类型的I/O操作来模拟不同的I/O负载场景。

Fio官方网站:https://fio.readthedocs.io/en/latest/index.html

Fio的主要特性:

  1.   支持多种I/O引擎:fio支持40+种不同类型的I/O引擎,如sync、mmap、libaio、posixaio、SG v3、splice等,这些引擎允许在不同的平台和场景下进行精确的IO测试。
  2.   灵活的配置选项:fio提供了丰富的配置选项,可以定制各种测试模式,包括测试文件的读写模式(如随机读、随机写、顺序读、顺序写等)、块大小、测试时间、IO队列深度等。
  3.   多线程支持:fio是一个多线程的IO生成工具,可以生成多种IO模式,以测试磁盘设备的性能。
  4.   详细的性能报告:fio测试结果包含了丰富的性能数据,如IOPS、带宽、延迟等,帮助用户深入了解存储系统的性能表现。

Fio的应用场景:

fio广泛应用于各种性能测试场景,包括但不限于:

  1.   评估存储系统(如磁盘、SSD、RAID阵列等)的I/O性能。
  2.   评估文件系统的性能。
  3.   测试服务器和存储设备的压力承受能力。
  4.   在产品发布前进行性能验证和调优。

Part2  安装Fio

1. Linux平台安装(在线安装)

yum install fio

注:默认安装最新的版本,也建议安装最新版本

2. Linux平台安装(源码包方式)

下载fio源码/安装包:

Releases · axboe/fio​github.com/axboe/fio/releases

根据实际情况下载对应的版本文件,在此我们使用fio-3.36,下载后使用如下命令进行编译安装:

# ./configure

# make

# make install

编译安装后,可以直接在Linux命令行上执行:fio -v命令查看Fio是否安装成功,同时也可以判断已安装的版本是否符合预期。

#fio -v

3. Windows平台安装(安装程序方式)

双击运行下载的文件即可:fio-3.36-x64.msi

所有的步骤均为默认,默认的安装路径为:C:\Program Files\fio

安装完成后,打开一个cmd窗口,执行:

#fio -v

系统正常输出版本信息说明安装成功

4. 直接使用二进制包(安装程序方式)

不同的Linux平台为fio也准备了可直接使用的二进制包,可开箱即用,但此方式不建议使用,通过源码编译的方式有助你在实际的环境中灵活安装、升级就配置fio。

如:

Red Hat, Fedora, CentOS & Co:

fio - Fedora Packages .

Debian:

 Debian -- Package Search Results -- fio 
 

Part3  Fio压测参数详解

运行fio通常是最简单的部分-你只需要将作业文件(或作业文件)作为参数:

$ fio [options] [jobfile] ...

1. 基本参数

--filename: 指定测试文件的名称或路径,支持文件系统或裸设备。例如,-filename=/dev/sdb表示测试/dev/sdb设备。

--direct: 是否使用directIO,即绕过系统缓存进行测试。例如,-direct=1表示使用directIO。

--rw:指定读写模式,包括顺序读(read)、顺序写(write)、随机读(randread)、随机写(randwrite)、混合读写(randrw)等。

--bs: 单次I/O操作的块文件大小,单位为KB、MB等。例如,-bs=4k表示块大小为4KB。

--size: 测试文件的大小,单位为GB、MB等。例如,-size=5G表示测试文件大小为5GB。

--numjobs: 测试任务的数量,即并发测试的线程数或进程数。例如,-numjobs=30表示启动30个测试任务。

--runtime: 测试时间,单位为秒。如果不指定,则测试将持续进行直到达到指定的文件大小。

2.  高级参数

--ioengine: 指定I/O引擎,如libaio(Linux本地异步I/O)、psync等。例如,-ioengine=libaio。在Linux环境下默认的I/O引擎是psync,Windows环境下默认的I/O引擎是windowsaio。

--iodepth: 队列深度,即I/O请求的并发数。在异步模式下,此参数控制CPU可以同时发出的I/O请求数量。

--rwmixwrite: 在混合读写模式下,写操作所占的百分比。例如,-rwmixwrite=30表示写操作占30%。

--group_reporting: 汇总每个进程或线程的信息,以便更清晰地查看测试结果。

标签:说全,--,Fio,测试,Linux,测试工具,安装,fio,硬核
From: https://blog.csdn.net/nimizi_2009/article/details/141302347

相关文章

  • 百万级超长序列大模型训练如何加速,硬核解读MindSpeed方案
    摘要:针对现有长序列训练场景的痛点,MindSpeed在并行算法、计算效率、内存占用以及通信四个维度系统性优化大模型长序列训练效率,支持大模型百万级长序列训练。1      长序列已经成为主流大模型能力之一23年底Gemini1.5Pro发布以来,大模型序列长度迅速增长,处理超长序列上下......
  • 开发者工具Postman接口测试工具使用介绍
    Postman接口测试工具详解Postman是一个功能强大的API测试工具,广泛应用于接口开发和测试过程中。它提供了一个直观的界面来创建、发送和管理API请求,并可以轻松地检查响应。以下是Postman的详细使用指南,包括基本概念、功能和操作步骤。安装和设置安装Postman下载:......
  • 那年追过的开发者测试工具
    交付进度紧张,为什么还要花费精力写单元测试代码,如下是之前的笔记。写单元测试代码有什么好处为什么程序员讨厌写单元测试代码工欲善其事,必先利其器。使用Java语言交付项目时,需要掌握单元测试框架和Mock工具的使用。如下是当年交付项目过程中,使用过的测试框架和工具,可供参考......
  • 上总榜啦,纪念一下。( 总榜24 分榜第7 )全网最硬核博主之一
    s如何用sql在1分钟从1T数据中精准定位查询?Hive离线数仓Spark分析-CSDN博客文章浏览阅读1.3k次,点赞48次,收藏15次。在大数据-Hadoop体系中,spark批处理和hive离线数仓可以说是对立并行的两个大分支技术栈,,,建议主攻其一,另一个灵活使用就行。他们是2015出现在国内,2017年之后国外各......
  • Postman接口测试工具详解
    引言随着互联网技术的不断发展,API(应用程序接口)在现代软件开发中的地位愈发重要。API连接了不同的软件系统,允许它们之间进行数据交换和功能调用。为了确保API的正确性和可靠性,进行全面的测试至关重要。Postman作为一个流行的API开发和测试工具,以其直观的用户界面和强大的......
  • JMeter 性能测试工具入门与实践
    简介ApacheJMeter是一款流行的开源性能测试工具,广泛用于测试Web应用和各种服务的性能。它支持多种协议和技术,如HTTP,HTTPS,SOAP,REST,JMS等。JMeter不仅可以用于性能测试,还可以用于负载测试、压力测试和功能测试。安装与配置安装JMeter访问ApacheJMeter的官方网......
  • postman接口测试工具
    Postman是一款用于API开发和测试的工具,也是一款常用的接口测试工具。它提供了简便的界面和丰富的功能,可以方便地创建、调试和管理API请求,进行接口测试和自动化测试。使用Postman,你可以:1.创建和发送各种类型的API请求,包括GET、POST、PUT、DELETE等。2.设置请求头、请求参数......
  • 安装lkp-test性能测试工具
    (参考官网)https://gitee.com/openeuler/technical-certification/blob/master/testing-tools/欧拉技术测评ISV商用软件测试工具lkp-tests用户指南.md#步骤3-执行兼容性测试从有问题的步骤开始修改:工具安装步骤6:写入环境变量exportLKP_PATH="/root/lkp-tests"测试执行步骤2:安......
  • 性能测试工具 - Siege
    在快速发展的技术时代,网站和应用的性能对于用户体验和业务成功至关重要。作为测试工程师,找到高效的性能测试工具显得尤为重要。今天,我们来聊聊一个备受推崇的性能测试工具——Siege。为什么Siege能够在众多性能测试工具中脱颖而出?它究竟有哪些独特之处,能帮助测试人员高效地进行性......
  • DRF入门规范,API接口,接口测试工具,restful规范,序列化和反序列化,drf安装和快速使用
    ⅠDRF入门规范【一】Web应用模式在开发Web应用中,有两种应用模式:【1】前后端不分离【2】前后端分离【3】前后端开发模式#1前后端混合开发-不少公司在用-flask混合-django混合-例如最简单的bbs项目-模板:dtl语法:djangotemplatelanguage模板语......