当前位置:

首页 > 软件教程 > Linux硬盘IO性能测试实践

Linux硬盘IO性能测试实践

IObit Uninstaller 15 Pro
IObit Uninstaller 15 Pro

IObit Uninstaller 是一款专为 Win 平台设计的软件卸载工具,卸载干净彻底。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

立即下载
¥29
Windows 2026-08-22
正版软件 Windows Uninstaller 卸载清理工具

概念fio,又称为FlexibleIOTester,是JensAxboe编写的应用程序。Jens是LinuxKernel中blockIOsubsystem的维护者。FIO是一种用于测试网络文件系统和磁盘性能的工具,常用于验证机型和比较文件系统性能。它能自动将fio命令发送到集群机器列表,并收集小文件的IOPS和大文件的吞吐量数据。rw=[mode]rwmixwrite=30在混合读写的模式下,写占30%moderead顺序读write顺序写readwrite顺序混合读写randwrite随机写randre

本文目录

    概念

    fio,又称为Flexible IO Tester,是Jens Axboe编写的应用程序。

    Jens是Linux Kernel中block IO subsystem的维护者。

    FIO是一种用于测试网络文件系统和磁盘性能的工具,常用于验证机型和比较文件系统性能。它能自动将fio命令发送到集群机器列表,并收集小文件的IOPS和大文件的吞吐量数据。

    实战:Linux上硬盘io读写测试

    rw=[mode]
    rwmixwrite=30 在混合读写的模式下,写占30%
    
    mode
    read 顺序读
    write 顺序写
    readwrite 顺序混合读写
    randwrite 随机写
    randread 随机读
    randrw 随机混合读写

    安装

    yumdownloader --destdir=/tmp --resolve fio
    rpm -ivh /tmp/*.rpm
    rpm -ivh fio-3.7-2.el7.x86_64.rpm

    说明

    说明:
    filename=/dev/sdb1 测试文件名称,通常选择需要测试的盘的data目录。
    direct=1 测试过程绕过机器自带的buffer。使测试结果更真实。
    rw=randwrite 测试随机写的I/O
    rw=randrw 测试随机写和读的I/O
    bs=16k 单次io的块文件大小为16k
    bsrange=512-2048 同上,提定数据块的大小范围
    size=5g 本次的测试文件大小为5g,以每次4k的io进行测试。
    numjobs=30 本次的测试线程为30.
    runtime=1000 测试时间为1000秒,如果不写则一直将5g文件分4k每次写完为止。
    ioengine=psync io引擎使用pync方式
    rwmixwrite=30 在混合读写的模式下,写占30%
    group_reporting 关于显示结果的,汇总每个进程的信息。
    此外
    lockmem=1g 只使用1g内存进行测试。
    zero_buffers 用0初始化系统buffer。
    nrfiles=8 每个进程生成文件的数量。

    测试随机写带宽

    fio --name=wbw --filename=/data/sui_ji_xie --numjobs=4 
    --bs=128k --size=4G --ioengine=libaio --direct=1 --randrepeat=0 --norandommap --rw=randwrite 
    --group_reporting --iodepth=512 --iodepth_batch=128 --iodepth_batch_complete=128 --gtod_reduce=1 --runtime=30

    测试4K 随机写延迟:

    fio --name=wlat --filename=/data/4k_sui_ji_xie --numjobs=1 --runtime=30 
    --bs=4k --size=4G --ioengine=libaio --direct=1 --norandommap --randrepeat=0 
    -rw=randwrite --group_reporting --iodepth=1 --iodepth_batch_complete=0

    测试4k 随机写IOPS:

    fio --name=wiops --filename=/data/4k_sui_ji_xie_iops --numjobs=4 
    --bs=4k --size=4G --ioengine=libaio --direct=1 --randrepeat=0 --norandommap 
    --rw=randwrite --group_reporting --iodepth=512 --iodepth_batch=128 
    --iodepth_batch_complete=128 --gtod_reduce=1 --runtime=30

    测试4k 读带宽:

    fio --name=rbw --filename=/data/4k_sui_ji_du --numjobs=4 
    --bs=128k --size=4G --ioengine=libaio --direct=1 --randrepeat=0 --norandommap 
    --rw=randread --group_reporting --iodepth=512 --iodepth_batch=128 
    --iodepth_batch_complete=128 --gtod_reduce=1 --runtime=30

    测试4k 随机读延迟:

    fio --name=rlat --filename=/data/4k_sui_ji_du_yanchi --numjobs=1 --runtime=30 
    --bs=4k --size=4G --ioengine=libaio --direct=1 --randrepeat=0 --rw=randread 
    --group_reporting --iodepth=1 --iodepth_batch_complete=0

    测试4k 随机读IOPS:

    fio --name=riops --filename=/data/4k_sui_ji_du_iops --numjobs=4 
    --bs=4k --size=4G --ioengine=libaio --direct=1 --randrepeat=0 --norandommap --rw=randread 
    --group_reporting --iodepth=512 --iodepth_batch=128 --iodepth_batch_complete=128 --gtod_reduce=1 --runtime=30

    随机读:

    fio -filename=/data/sui_ji_du -iodepth=1 -ioengine=libaio -direct=1 -rw=randread -bs=4k -size=1G -numjobs=10 -runtime=20 -group_reporting -name=test-rand-read

    随机写:

    fio -filename=/data/sui_ji_xie -iodepth=64 -ioengine=libaio -direct=1 -rw=randwrite -bs=4k -size=2G -numjobs=64 -runtime=20 -group_reporting -name=test-rand-write

    顺序读:

    fio -filename=/data/shun_xu_du -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=20G -numjobs=30 -runtime=1000 -group_reporting -name=mytest

    混合随机读写:

    fio -filename=/data/hun_he_du_xie -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=16k -size=10G -numjobs=30 -runtime=100 -group_reporting -name=mytest -ioscheduler=noop
    io=执行了多少M的IO
    bw=平均IO带宽
    iops=IOPS
    runt=线程运行时间
    slat=提交延迟
    clat=完成延迟
    lat=响应时间
    bw=带宽
    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 latencies=IO完延迟的分布
    
    io=总共执行了多少size的IO
    aggrb=group总带宽
    minb=最小.平均带宽.
    maxb=最大平均带宽.
    mint=group中线程的最短运行时间.
    maxt=group中线程的最长运行时间.
    
    ios=所有group总共执行的IO数.
    merge=总共发生的IO合并数.
    ticks=Number of ticks we kept the disk busy.
    in_queue=花费在队列上的总共时间.
    util=磁盘利用率
    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    软件教程 io
    相关文章 更多
    编程语言的编程模型
    编程语言的编程模型

    编程模型涵盖面向过程的C语言、面向对象的Ruby、基于栈的PostScript、基于规则的Prolog、基于原型的Lua、函数式的Erlang/Haskell及混合模型的Scala/Clojure。类型系统区分强类型与弱类型、动态类型与静态类型,元编程允许运行时操作代码,提升表达力。

    谷歌推出 Ask Play:连续对话 AI 筛选应用与游戏
    谷歌推出 Ask Play:连续对话 AI 筛选应用与游戏

    5 月 20 日消息,在今日的 2026 谷歌 I/O 开发者大会上,谷歌针对 Play 应用商店推出 Ask Play,希望把原本依赖列表翻找、评论筛选和反复试错的找应用流程,变成更自然的连续问答方式。Ask Play 能理解完整上下文,不仅能基于用户提出的首个需求搜索合适内容,还能继续补充限制条

    谷歌升级 AI Studio:文本直出原生安卓应用,打通测试全流程
    谷歌升级 AI Studio:文本直出原生安卓应用,打通测试全流程

    5 月 20 日消息,在今日的 2026 谷歌 I/O 开发者大会上,谷歌为 Google AI Studio 加入原生安卓应用生成功能,用户可直接在浏览器里用文本提示创建应用。该功能面向两类人群:一类是希望加快原型验证的开发者,另一类是首次接触安卓开发的新手,而且输出的是可安装、可分享的完整安卓应

    谷歌 Google TV 整合 Gemini:让 AI 提升内容发现、改善浏览交互
    谷歌 Google TV 整合 Gemini:让 AI 提升内容发现、改善浏览交互

    5 月 20 日消息,在今日的 2026 谷歌 I/O 开发者大会上,谷歌宣布借助 Gemini,为 Google TV 引入新的应用发现工具,帮助用户更容易找到新应用和可观看内容。注:这套能力建立在 2026 年 3 月已上线的 Google TV Gemini 功能之上,用户能借助它发现新的可观

    Java I/O流中的字节编码与解码是如何实现的?
    Java I/O流中的字节编码与解码是如何实现的?

    在JavaI/O流中,编码将字符数据转换为二进制数据,解码将二进制数据转换为字符数据。编码:使用Charset.forName()获得编码,然后使用Charset.encode()将字符数据编码为字节数组。解码:使用CharsetDecoder.decode()将字节数组解码为字符数据。实战案例:使用BufferedWriter/BufferedReader结合Charset实现文本文件的读写,指定编码格式保证数据的正确转换。

    如何在PHP实现数据缓存和读写?
    如何在PHP实现数据缓存和读写?

    如何在PHP实现数据缓存和读写?在开发Web应用程序时,数据缓存是提高性能和减少数据库负载的重要技术之一。PHP作为一种常用的Web开发语言,提供了多种方法来实现数据缓存和读写。本文将介绍一些常见的PHP数据缓存技术和实现方法。使用内存缓存使用内存缓存是一种快速且高效的数据缓存方法。PHP提供了多种内存缓存扩展,例如Memcached和Redis。这些扩展可

    如何使用Golang实现Web应用程序的快速读写
    如何使用Golang实现Web应用程序的快速读写

    随着互联网的普及,Web应用程序已经成为了商业营销和社交交流的重要工具。Web应用程序的快速读写是Web应用程序设计中的一个基本问题。Golang作为一种高效且简洁的编程语言,可以帮助程序员实现快速读写的需求。在本文中,我们将学习如何使用Golang实现Web应用程序的快速读写。一、建立数据库连接在使用Golang实现Web应用程序的快速读写前,我们要建立

    Java 中的文件和IO操作技巧
    Java 中的文件和IO操作技巧

    在Java编程中,常常需要对文件进行IO操作。文件IO操作涉及读写文件、创建目录、删除文件等操作。本文将介绍一些常用的文件IO操作技巧,以及如何在Java程序中使用它们。一、文件路径在Java中操作文件、目录,需要提供文件路径。文件路径可分为绝对路径和相对路径。绝对路径是文件在文件系统中的完整路径,以根目录开始。相对路径是文件相对于当前工作目录的路径。Jav

    十大 Java 文件操作的最佳实践
    十大 Java 文件操作的最佳实践

    在Java中,文件操作是处理存储在文件系统中的数据文件的常见任务。为了有效和高效地执行这些任务,遵循最佳实践可以确保代码的可读性、可维护性和健壮性。本文介绍了在Java中操作文件的10大最佳实践,帮助开发人员提高其代码质量并避免常见错误。使用Path和NIO.Path代替File。//使用Path类操作文件Pathpath=Paths.get("my-file.txt");Files.readAllBytes(path);//使用nio.Path类操作文件java.nio.file.Pathpath=ja

    解密 Java 文件操作的工作原理
    解密 Java 文件操作的工作原理

    文件系统APIJava文件操作的内部原理与操作系统的文件系统api密切相关。在Java中,文件操作是由java.NIO包中的java.nio.file模块提供的。该模块提供了对文件系统API的封装,使Java开发者能够在不同的操作系统上使用统一的API进行文件操作。文件对象当Java程序需要访问文件时,它首先需要创建一个java.nio.file.Path对象。Path对象代表了文件系统中的一个路径,可以是绝对路径也可以是相对路径。一旦创建了Path对象,就可以使用它来获取文件的各种属性,如名称、大小、最

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。

    即将离开本站
    您即将前往第三方网站,请确认是否继续?