Linux服务器如何测试存储盘性能是否正常?FIO磁盘压测工具的使用详解

针对磁盘的压力性能测试工具有很多,简单的测试可以通过dd命令实现,而比较专业和强大的磁盘IO测试工具,当然首推FIO了。本文将和你们分享FIO工具安装和用法,希望可以帮助到你们~想要了解FIO工具首先你得知道顺序读写和随机读写这两个概念。

随机读取:写入是根据磁盘数据分布进行随机读写,可能数据的读、写并不在连续的磁盘空间上,因此磁头寻址时间长、负荷大,每段数据都有地址码,通过地址码进行数据段读取。

顺序读取:写入是根据磁盘数据分布进行连续读写,由于数据分布连续,寻址时间短,中间没有地址码。

通常机械硬盘主要是看顺序读写性能,SSD主要看随机读写性能。

fio是一种I/O工具,用于基准测试和压力/硬件验证。它支持19种不同类型的I/O引擎(sync,mmap,libaio,posixaio,SG v3,splice,null,network,syslet,guasi,solarisaio等)

I/O优先级(适用于较新的Linux内核) ,评估I/O,分叉或线程作业等等。它可以在块设备和文件上工作。fio以简单易懂的文本格式接受职位描述。包含几个示例作业文件。fio显示各种I/O性能信息,包括完整的IO延迟和百分位数。Fio在许多地方广泛使用,用于基准测试,QA和验证目的。它支持Linux,FreeBSD,NetBSD,OpenBSD,OS X,OpenSolaris,AIX,HP-UX,Android和Windows等操作系统。

实操

注意:测试的盘最好是数据盘,系统盘若是有大量的写操作容易造成损坏,导致系统盘崩溃,如果你用的是VM虚拟机,可以直接添加一块盘测试

下载压测工具命令

yum install fio -y

安装好后,查看版本命令

fio -v

以下是fio命令的用法:

参数解析
directory=/被测文件挂载的目录,多个目录使用:符号分隔
filename=/dev/vda1被测文件名,多个文件则使用:符号分隔
direct=1使用非缓存I/O,使测试磁盘的结果更真实,默认为False,可以用0和1表示
rw=read测试顺序读(100%顺序读)
rw=write测试顺序写(100%顺序写)
rw=randread测试随机读(100%随机读)
rw=randwrite测试随机写(100%随机写)
rw=randrw测试随机读写(读写各占50%)
rw=rw,rwmixread=70测试顺序读写(写占比为70%)
rw=randrw,rwmixwrite=30在混合读写的模式下,写占30%
rw=trim/randtrim/trimwrite磁盘修剪,需要磁盘支持此功能,可根据读写一样进行配置
bs=4k单次I/O的块大小,默认4k
bs=4k,8K单次以4k块大小读取,以8k写入和修剪
bs=16k,32K单次以16k读取,以32k大小写入,以默认大小4k修剪
bsrange=8k-1M同上,指定数据块的大小范围
size=1G每个线程读写的数据量为1GB
thread=1使用pthread_create创建线程,默认使用fork创建
numjobs=2克隆此次测试的线程/进程数量,可用于设置更多执行相同操作的线程/进程
group_reporting每个线程的测试结果汇总后输出
allow_mounted_write=1允许写入操作,某些平台可能即使有此参数也无法写入
runtime=100测试时间,若测试提取完成则提前结束并输出结果,若到达时间后测试尚未完成则会强制结束并输出结果
ramp_time=10在测试开始前先执行10秒,可以理解为忽略前10秒的测试结果,有助于得到更稳定的测试数据
ioengine=libaiosync
iodepth=2队列深度为2,默认为1
name=fioTest定义本次测试任务名称
output=testRestult输出测试结果到指定文件中
lockmem=1G只使用1G内存进行测试,模拟较少内存时使用
stonewall等待上一个测试任务结束,再启动此当前任务

了解命令用法后现在开始测试

实例:

fio -filename=/dev/vda1 -ioengine=sync -direct=1 -thread=1 -iodepth=1 -group_reporting  -rw=randwrite -allow_mounted_write=1 -bs=4k -size=3G -runtime=60 -name=test-fio

这个命令是测试磁盘文件/dev/vda1随机写入操作,使用同步I/O引擎sync,测试配置为使用非缓存I/O,1个线程,I/O深度为1,汇总输出一份报告,允许写入磁盘,块大小为4k,测试文件2G,运行时间60秒,本次测试命名为test-fio

可以看到IPOS和吞吐量,这是随机写入的

服务器如何测试存储盘性能是否正常?FIO磁盘压测工具的使用详解

还可以用iostat -x 命令实时观察磁盘的压测情况,1是每秒输出持续使用情况,安装命令:

yum install sysstat -y

使用fio命令可以测出来我们磁盘的IOPS和吞吐量,希望对你们有帮助~

感谢您的阅读,服务器大本营-技术文章内容集合站,助您成为更专业的服务器管理员!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/37520.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

编程开发不得不懂的世界协调时UTC的由来

在各种时间标准出现之前,各地都是根据太阳来进行计时的。把太阳连续2次经过地球同一位置所经历的时间间隔称为真太阳日,然后再把这个太阳日划分为更小的时间单位,例如中国古代使用日晷记录时间,把一个太阳日分为12个时辰。因为地球…

FFmpeg教程-三-播放pcm文件-1

目录 一,下载SDL 二,在Qt中测试 1,在pro文件中加入路径 2,在.cpp文件中加入头文件 3,进行测试 4,显示结果 一,下载SDL 通过编程的方式播放音视频,也是需要用到这2个库: FFmpeg…

CICD之Git版本管理及基本应用

CICD:持续集成,持续交付--让对应的资料,对应的项目流程更加规范--提高效率 CICD 有很多的工具 GIT就是其中之一 1.版本控制概念与环境搭建 GIT的概念: Git是一款分布式源代码管理工具(版本控制工具) ,一个协同的工具。 Git得其数据更像是一系列微型文件系统的快照。使用Git&am…

一年前 LLM AGI 碎片化思考与回顾系列⑧ · 穿越SystemⅡ未知之境

阅读提示: 本篇系列内容的是建立于自己过去一年在以LLM为代表的AIGC快速发展浪潮中结合学术界与产业界创新与进展的一些碎片化思考并记录最终沉淀完成,在内容上,与不久前刚刚完稿的那篇10万字文章 「融合RL与LLM思想,探寻世界模型…

智慧校园-教材管理系统总体概述

智慧校园教材管理系统,作为教育信息化进程的又一实践成果,正逐步改变着传统教材管理的模式。该系统通过集成先进的信息技术,对教材从采购、分配、使用到回收的全过程进行了全面的数字化改造,旨在构建一个高效、透明、节约的教材管…

一次可输入多张图像,还能多轮对话!最新开源数据集,让AI聊天更接近现实

大模型对话能更接近现实了! 不仅可以最多输入20张图像,还能支持多达27轮对话。可处理文本图像tokens最多18k。 这就是最新开源的超长多图多轮对话理解数据集MMDU(Multi-Turn Multi-Image Dialog Understanding)。 大型视觉语言模…

2025艺考时间线来啦!所有艺考生码住!

2025届艺考生们的征途即将启程。对于每一个即将参加艺考的考生和家长来说,梳理艺考时间节点是尤为重要的。 对于艺考生而言,更早的规划意味着更充分的准备时间,更扎实的专业能力。补齐艺考信息差,以下2025艺考时间线一定要看明白…

知识库在AI大模型中的使用流程

大模型知识库的使用流程通常包括以下关键步骤,大模型知识库的使用流程需要跨学科的知识和技能,包括自然语言处理、数据库管理、软件工程等。同时,也需要关注用户体验、性能优化、安全保护等方面,以提供高质量的知识服务。北京木奇…

CC7关于ConstantTransformer返回值不能和put一样的分析

CC7关于ConstantTransformer返回值不能和put一样的分析 前言 实验室的gaorenyusi也是学到cc7的时候问了我一个很好的问题,我当时学的时候没有在意,然后就去调试分析解决了一下 分析 首先是paylaod package CC7;import org.apache.commons.collectio…

三英战吕布 | 第5集 | 温酒斩华雄 | 竖子不足与谋 | 三国演义 | 逐鹿群雄

🙋大家好!我是毛毛张! 🌈个人首页: 神马都会亿点点的毛毛张 📌这篇博客分享的是《三国演义》文学剧本第Ⅰ部分《群雄逐鹿》的第5️⃣集《三英战吕布》的经典语句和文学剧本全集台词 文章目录 1.经典语句2.文学剧本台…

MySQL之如何定位慢查询

1、如何定位慢查询 1.1、使用开源工具 调试工具:Arthas 运维工具:Promethuss、Skywalking 1.2、MySQL自带慢日志 慢查询日志记录了所有执行时间超过指定参数(long_query_time,单位:秒,默认10秒&#x…

小白上手AIGC-基于PAI-DSW部署Stable Diffusion文生图Lora模型

小白上手AIGC-基于PAI-DSW部署Stable Diffusion文生图Lora模型 前言资源准备开启体验服务创建工作空间 部署服务创建DSW实例安装Diffusers启动WebUI 写在最后 前言 在上一篇博文小白上手AIGC-基于FC部署stable-diffusion 中,说到基于函数计算应用模板部署AIGC文生图…

python基础语法 004-1流程控制- 条件控制

1 条件控制 1.1 表达 条件表达式冒号缩进 1.1.1 单个条件:满足表达式 """ ############if的表示 if 条件表达式:(缩进)条件满足以后要运行的代码例子: #遇到冒号要缩进 #缩进:1个缩进用4个空格,整个篇幅缩进需要统一 #4个…

揭开统计分析的秘密:独立样本和配对样本T检验实战案例

一、独立样本T检验 1.收集20名学生的自信心值 见下表,试问该指标是否与性别有关?(非参数检验或参数检验) 数据值 性别 1,1,1,1,2,2,1,1&#…

国产操作系统上netstat命令详解 _ 统信 _ 麒麟 _ 中科方德

原文链接:国产操作系统上netstat命令详解 | 统信 | 麒麟 | 中科方德 Hello,大家好啊!今天给大家带来一篇在国产操作系统上使用netstat命令的详解文章。netstat是网络统计(network statistics)的缩写,它是一…

【股指期权投教】一手股指期权大概多少钱?

一手股指期权的权利金大概在几千人民币左右,如果是作为期权卖方还需要另外缴纳保证金的。国内的股指期权有三种,沪深300、上证50、中证1000股指期权,每点合约人民币100 元。 期权合约的价值计算可以通过此公式得出:权利金的支付或…

软件工程实验

实验环境和需求 用户可以对相片进行按类别管理,用户可以设定不同的类别,然后上传照片到相应的类别中,并能进行照片的删除,注释 运行 运行并访问 localhost 8090,图片在数据库中的信息是D:/upgrade 后面的内容 se…

windographer数据操作教程

目录 通道设置将4个windographer文件拼到一起映射关系通道设置 先把风速列选中,将Type改为 wind speed 无需额外操作,确认一下即可

QT4-QT5(6)-const char* QString 乱码转换

我简单粗暴的给出个结论: QString GBK编码正常,可以转UTF-8编码,但会有少量乱码。 const char* 编码就不要转编码,转哪个都是乱码。 UTF-8.cpp 下 1.QString GBK->UTF-8 2.const char * GBK->UTF-8 const char *…

数据可视化在智慧园区中的重要作用

在现代智慧园区的建设和管理中,数据的作用越来越重要。智慧园区利用物联网、云计算、大数据等技术,实现了园区各类信息的实时采集和处理。数据可视化作为数据处理和展示的重要工具,为智慧园区的各个方面提供了强有力的支持。 首先&#xff0c…