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的主要特性:
- 支持多种I/O引擎:fio支持40+种不同类型的I/O引擎,如sync、mmap、libaio、posixaio、SG v3、splice等,这些引擎允许在不同的平台和场景下进行精确的IO测试。
- 灵活的配置选项:fio提供了丰富的配置选项,可以定制各种测试模式,包括测试文件的读写模式(如随机读、随机写、顺序读、顺序写等)、块大小、测试时间、IO队列深度等。
- 多线程支持:fio是一个多线程的IO生成工具,可以生成多种IO模式,以测试磁盘设备的性能。
- 详细的性能报告:fio测试结果包含了丰富的性能数据,如IOPS、带宽、延迟等,帮助用户深入了解存储系统的性能表现。
Fio的应用场景:
fio广泛应用于各种性能测试场景,包括但不限于:
- 评估存储系统(如磁盘、SSD、RAID阵列等)的I/O性能。
- 评估文件系统的性能。
- 测试服务器和存储设备的压力承受能力。
- 在产品发布前进行性能验证和调优。
Part2 安装Fio
1. Linux平台安装(在线安装)
yum install fio
注:默认安装最新的版本,也建议安装最新版本
2. Linux平台安装(源码包方式)
下载fio源码/安装包:
Releases · axboe/fiogithub.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:
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