FIO 实战详解:安全测试 Linux 磁盘 IOPS 的正确方法
在性能测试中磁盘 IOPSInput/Output Operations Per Second是衡量存储系统性能的重要指标。 但很多人拿到 fio 命令后就直接对 /dev/sdX 开始“无脑测试”结果数据全毁、分区损坏、系统宕机。本文将系统讲解fio 的正确使用方式以及如何安全地测试磁盘性能。一、fio 简介fioFlexible I/O Tester 是 Linux 下最常用的磁盘性能测试工具支持多线程、多种 I/O 模式顺序、随机、混合和多种 I/O 引擎。 它既能测试裸盘性能也能测试挂载后的文件系统性能。但这两种模式的风险完全不同结论除非你明确知道自己在做什么否则不要用 fio 测试裸盘或带文件的分区。二、fio 为什么会“毁盘”例如以下命令fio -filename/dev/sdb1 -rwrandwrite -bs4k -size10G -ioenginelibaio -direct1 -nametest这条命令会从sdb1 的第一个扇区开始随机写入数据直接覆盖原有内容。执行后的文件系统展示如下df -h,如果存有重要数据我想你应该是崩溃的如果该分区已有文件系统ext4、xfs 等文件系统的元数据会被破坏结果就是分区无法挂载文件系统损坏实例宕机或进入紧急修复模式容量显示异常例如“64Z”。因此一定要使用文件系统路径测试。三、安全的 fio 测试方式1、安装 fio# 推荐直接使用 yum 安装yum install -y fio libaio-devel或手动安装wget http://brick.kernel.dk/snaps/fio-2.2.10.tar.gztar -zxvf fio-2.2.10.tar.gzcd fio-2.2.10make make install2、编写测试配置文件新建一个配置文件 fio.conf示例[global]ioenginelibaiodirect1thread1norandommap1randrepeat0runtime60ramp_time6size1gdirectory/data2# 修改为测试硬盘挂载目录[read4k-rand]stonewallgroup_reportingbs4krwrandreadnumjobs8iodepth32[read64k-seq]stonewallgroup_reportingbs64krwreadnumjobs4iodepth8[write4k-rand]stonewallgroup_reportingbs4krwrandwritenumjobs2iodepth4[write64k-seq]stonewallgroup_reportingbs64krwwritenumjobs2iodepth4执行测试fio fio.conf这样 fio 会在 /data2 下自动生成测试文件测试结束后可删除不会破坏现有系统。四、常见手动测试命令若需快速压测可使用以下示例命令# 顺序读fio -filename/mnt/data/testfile -direct1 -iodepth1 -thread -rwread \-ioenginepsync -bs16k -size10G -numjobs4 -runtime60 -group_reporting -nameseq-read# 顺序写fio -filename/mnt/data/testfile -direct1 -iodepth1 -thread -rwwrite \-ioenginepsync -bs16k -size10G -numjobs4 -runtime60 -group_reporting -nameseq-write# 随机读fio -filename/mnt/data/testfile -direct1 -iodepth1 -thread -rwrandread \-ioenginepsync -bs4k -size10G -numjobs4 -runtime60 -group_reporting -namerand-read# 随机写fio -filename/mnt/data/testfile -direct1 -iodepth1 -thread -rwrandwrite \-ioenginepsync -bs4k -size10G -numjobs4 -runtime60 -group_reporting -namerand-write# 混合随机读写70%读 / 30%写fio -filename/mnt/data/testfile -direct1 -iodepth1 -thread -rwrandrw -rwmixread70 \-ioenginepsync -bs4k -size10G -numjobs4 -runtime60 -group_reporting -namerandrw✅ 注意filename 必须指向挂载点内的测试文件或目录不要直接写 /dev/sdX。五、结果解读测试结束后fio 会输出如下信息IOPS54123, BW211MiB/s, Latency1.23ms关键指标说明六、总结不要直接对 /dev/sdX 执行 fio 测试那是“物理毁灭”级操作推荐在挂载目录内测试fio 会自动生成并删除测试文件对比不同存储介质SATA SSD、NVMe、RAID、云盘性能时务必保持同样的配置参数最后测试完记得 rm -f testfile 清理文件。小结一句话用 fio 测试磁盘性能没问题问题是你要知道“写到哪儿”。 写到分区头就是毁盘写到文件里才是压测。

相关新闻

磁盘性能测试工具 FIO 安装与使用

磁盘性能测试工具 FIO 安装与使用

工具简介 工具定位 FIO 是一款专业级存储性能测试工具,可模拟服务器、硬盘等设备在不同工作压力下的表现(如数据库读写、文件传输等场景),并生成量化性能报告。 核心优势 多模式测试 - 支持模拟20种数据读写模式(如…

2026/10/9 9:09:27 阅读更多 →
AI大模型落地三引擎:量化、工作流与智能体、多轮RAG实战解析

AI大模型落地三引擎:量化、工作流与智能体、多轮RAG实战解析

1. 项目概述:从概念到实践的AI大模型核心拼图最近和不少同行交流,发现大家一提到AI大模型,脑子里蹦出来的往往是“ChatGPT”、“文心一言”这些具体的应用,或者“Transformer”、“注意力机制”这些底层架构。这当然没错&#xff…

2026/10/7 7:52:20 阅读更多 →
动态规划入门:0/1背包问题核心原理与代码实现详解

动态规划入门:0/1背包问题核心原理与代码实现详解

1. 背包问题:从新手到精通的必经之路 如果你刚开始接触算法,尤其是动态规划,那么“0/1背包问题”绝对是你绕不开的一座大山,也是检验你是否真正理解动态规划思想的绝佳试金石。我见过太多朋友,一看到“状态转移方程”这…

2026/10/12 22:22:24 阅读更多 →

最新新闻

RFM分群字段的时间窗口与空值校验

RFM分群字段的时间窗口与空值校验

RFM 模型几乎是所有用户分群方案的起点。Arthur Hughes 在 20 世纪 90 年代提出这个模型以来,它一直是商业领域应用最广泛的用户价值分析框架。但我见过太多团队跑完 RFM 直接用,结果分出来的"重要价值客户"其实是一批从没下过单的空值记录。问…

2026/10/15 4:06:46 阅读更多 →
GPT-6 开始为回答生成界面:拆解 OpenAI 最新 Intelligent UI 的原理与前景

GPT-6 开始为回答生成界面:拆解 OpenAI 最新 Intelligent UI 的原理与前景

GPT-6 开始为回答生成界面:拆解 OpenAI 最新 Intelligent UI 的原理与前景 2026 年 10 月 7 日,GPT-6 的对话产品引入了 Intelligent UI。回答可以包含文字、图形、按钮、表单和交互体验,呈现方式由问题决定。 这件事值得关注的地方&#x…

2026/10/15 4:06:46 阅读更多 →
三、C++系列之类和对象

三、C++系列之类和对象

1、面向对象编程的特征截止到目前,本人已接触了很多编程语言。例如java、C、C、python、php汇编等。其中C和汇编是面向过程编程,C、python、php等都是面向对象编程,在面向对象编程中,C是效率最高的,没有之一。提到面向…

2026/10/15 4:06:46 阅读更多 →
【VR】【Unity】AI 代理能直接改 Unity 工程了,VR 开发会被替代吗

【VR】【Unity】AI 代理能直接改 Unity 工程了,VR 开发会被替代吗

文章目录 本篇主旨 官方插件能做什么 对 VR 开发者的影响 先确认三件事 可以交给代理的杂活 必须人来判断的部分 实用总结 参考资料 本篇主旨 Unity 给编码代理出了官方插件,代理不光能写 C#,还能动编辑器里的对象、场景和资源。我关心的问题是:装包、查碰撞这些事能不能交…

2026/10/15 4:06:46 阅读更多 →
人机协同下的注意力分配,AI是帮手还是负担?

人机协同下的注意力分配,AI是帮手还是负担?

1. 质检员的"视觉疲劳"困境 在服装质检行业,AI 的引入被寄予厚望——它似乎能不知疲倦地盯着流水线,识别瑕疵,解放人力。然而,现实远比想象复杂。AI 并非完全取代质检员,而是与质检员形成一种人机协同的工作…

2026/10/15 4:06:46 阅读更多 →
律师智能办案系统有哪些法律ai推荐?先看你的年预算在哪一档

律师智能办案系统有哪些法律ai推荐?先看你的年预算在哪一档

这个问题被问得很多,但脱离预算谈推荐没有意义。同样一支团队,年预算五千和年预算十万,答案完全不同。按三档来说。第一档:年预算基本为零这一档的现实约束是"能用免费的先用免费"。可关注的:通义法睿&#…

2026/10/15 4:05:46 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →