【Linux】磁盘性能压测-FIO工具

一、FIO工具介绍

fio(Flexible I/O Tester)是一个用于评估计算机系统中 I/O 性能的强大工具。 官网:fio - fio - Flexible IO Tester

注意事项!

1、不要指定文件系统名称(如/dev/mapper/centos-root),避免造成文件系统损坏。

2、最好测试前备份重要数据

二、安装FIO

#本次安装版本为3.20版本,往上版本需要gcc版本大于4.9版本,3.20版本百度网盘下载链接: https://pan.baidu.com/s/1kX7NLxwhRcFLOvnOdRp5Vg?pwd=rdzt 提取码: rdzt

[root@dt1 yixing]# wget https://git.kernel.dk/cgit/fio/snapshot/fio-3.20.tar.gz
[root@dt1 yixing]# tar -xvf fio-3.20.tar.gz
[root@dt1 fio-3.37]# cd fio-3.20
[root@dt1 fio-3.20]# yum install gcc libaio-devel -y
[root@dt1 fio-3.20]# ./configure --prefix=/usr/local/fio-3.20
[root@dt1 fio-3.20]# make && make install
[root@dt1 fio-3.20]# ln -s /usr/local/fio-3.20/bin/fio /usr/bin/fio
#查看版本
[root@dt1 fio-3.20]# fio -v

三、磁盘性能测试

参数

  • -filename=/dev/vdb        #指定测试的目标文件或设备,最好不要指定文件系统名称                                                     (如/dev/mapper/centos-root),避免造成文件系统损坏。
  • -direct=1                        #使用直接 I/O 模式,即绕过文件系统缓存,直接访问磁盘。这通常                                            用于测量真实的磁盘性能。
  • -iodepth=4       #每个作业的 I/O 深度。如果模拟高并发负责情况,值可写32。
  • -rw=randwrite     #指定测试中使用的读写模式。randwrite 表示随机写入,即测试将                                           会对设备进行随机位置的写入操作。还有randread(随机读)read                                         (顺序读)write(顺序写)randrw(混合随机读写)

  • -ioengine=libaio   #指定 I/O 引擎。libaio 是 Linux 下的异步 I/O 引擎,用于提高性能                                          并允许并发操作。
  • -bs=4k          #每个 I/O 操作的块大小。这里设置为 4KB,即每次读写操作的数据                                           块大小为 4KB。

  • -size=10G        #指定测试文件或设备的大小。

  • -numjobs=4       #同时运行的作业数。这里设置为 4,表示 fio 将会启动 4 个并发作                                           业来执行测试。不要超过cpu核数。

  • -runtime=180      #测试的运行时间。这里设置为 180 秒(3分钟),即测试将持续运                                            行3 分钟。

  • -group_reporting   #汇总报告输出。当多个作业同时运行时,使用此选项可以合并它们                                          的结果输出。

  • -name=iotest_randwrite #为这个测试任务指定一个名称

测试参数值建议

  • 测试吞吐量和延迟:顺序I/O、较大的块大小
  • 测试IOPS和延迟:随机I/O、较小的块大小

IOPS:磁盘在1s中进行几次io读写操作

吞吐量:磁盘每秒IO的流量

测试随机写IOPS

#将创建/data/yixing/test文件
[root@dt1 yixing]# fio -filename=/data/yixing/test -direct=1 -iodepth=4 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=4 -runtime=60 -group_reporting -name=randwrite
#删掉测试文件
[root@dt1 yixing]# rm -rf test

#如果报一下错误,加上-allow_mounted_write=1
fio: /dev/vdb appears mounted, and 'allow_mounted_write' isn't set. Aborting. 

 测试随机读IOPS

#将创建/data/yixing/test文件
[root@dt1 yixing]# fio -filename=/data/yixing/test -direct=1 -iodepth=4 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=4 -runtime=60 -group_reporting -name=randread
[root@dt1 yixing]# rm -rf test

测试顺序读吞吐量

#将创建/data/yixing/test文件
[root@dt1 yixing]# fio -filename=/data/yixing/test -direct=1 -iodepth=4 -rw=read -ioengine=libaio -bs=4k -size=4G -numjobs=4 -runtime=180 -group_reporting -name=read
[root@dt1 yixing]# rm -rf test

测试顺序写吞吐量

#将创建/data/yixing/test文件
[root@dt1 yixing]# fio -filename=/data/yixing/test -direct=1 -iodepth=4 -rw=write -ioengine=libaio -bs=4k -size=4G -numjobs=4 -runtime=180 -group_reporting -name=write

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

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

相关文章

react启用mobx @decorators装饰器语法

react如果没有经过配置,直接使用decorators装饰器语法会报错: Support for the experimental syntax ‘decorators’ isn’t currently enabled 因为react默认是不支持装饰器语法,需要做一些配置来启用装饰器语法。 step1: 在 tsconfig.js…

【学术会议征稿】第三届能源互联网及电力系统国际学术会议(ICEIPS 2024)

第三届能源互联网及电力系统国际学术会议(ICEIPS 2024) 2024 3rd International Conference on Energy Internet and Power Systems 能源互联网是实现新一代电力系统智能互动、开放共享的重要支撑技术之一,也是提升能源调度效率&#xff0…

SQL 存储过程

SQL(Structured Query Language)的存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,它经编译后存储在数据库中,用户通过指定存储过程的名字并给它传递参数(如果有的话&#xff09…

Jetson-AGX-Orin 非docker环境源码编译安装CyberRT

Jetson-AGX-Orin 非docker环境源码编译安装CyberRT 1、安装依赖 sudo apt update sudo apt-get install g gdb gcc cmake sudo apt install libpoco-dev uuid-dev libncurses5-dev python3-dev python3-pip python3 -m pip install protobuf3.14.02、下载CyberRT源码 git cl…

【代码随想录算法训练Day65】卡码网47.参加科学大会、卡码网94. 城市间货物运输 I

Day65 图论第九天 卡码网47.参加科学大会 #include <iostream> #include <vector> #include <list> #include <queue> #include <climits> using namespace std; // 小顶堆 class mycomparison { public:bool operator()(const pair<int, …

Android Studio gradle下载失败?!

Android Studio安装后第一个工程&#xff0c;往往要下载gradle&#xff0c;而gradle的下载有的时候很慢&#xff0c;可以将下载好的gradle-x.x.x-all.zip放到指定目录下&#xff1a; Windows下路径&#xff1a; C:\Users\你的用户名\.gradle\wrapper\dist\gradle-x.x.x-all\**…

python+pygame实现五子棋人机对战之三

上回讲过&#xff1a; pythonpygame实现五子棋人机对战之一 pythonpygame实现五子棋人机对战之二 界面已经有了&#xff0c;并且可以支持鼠标操作选择菜单和人机对战开始下棋了&#xff0c;那电脑是如何应手落子呢&#xff1f;以下内容是通用的类&#xff0c;全部放在utils.…

LiteOS 多线程编程

​ 鸿蒙系统的多线程编程步骤&#xff1a; 1. 描述要创建的线程的属性配置. attr: attributeosThreadAttr_t attr;//声明一个线程属性变量memset(&attr, 0, sizeof(attr));//memset改变一个内存单元上存的值为0//以下三个为必须设置的线程属性attr.name "ledThread&q…

全球高端销量第一 凯迪仕智能锁建博会获重磅大奖再次遥遥领先

2024年7月11日&#xff0c;第26届中国广州建博会圆满落幕。Kaadas凯迪仕第11年受邀参展&#xff0c;凭借超吸睛的赛博风展馆和重磅旗舰传奇大师K70系列智能锁震撼亮相&#xff0c;吸引抖音网红云集打卡直播以及众多主流及行业媒体聚集报道。在大家居建装行业全球第一展的舞台上…

问题清除指南|Dell OptiPlex 7070 升级 win11 开启 TPM 2.0 教程

前言&#xff1a;最近想把实验室台式机的系统从 Windows 10 升级到 Windows 11&#xff0c;遇到一点小问题&#xff0c;在此记录一下解决办法。 ⚠️ 注&#xff1a;本教程仅在 Dell OptiPlex 7070 台式机系统中测试有效&#xff0c;并不保证其余型号机器适用此教程。 参考链接…

中国科学院地理所牛书丽团队《Global Change Biology 》最新成果!

本文首发于“生态学者”微信公众号&#xff01; 在全球气候变化的背景下&#xff0c;干旱地区的扩张对生态系统的氮循环产生了深远影响。氮同位素&#xff08;δ15N&#xff09;的天然丰度&#xff0c;尤其是土壤中的δ15N&#xff0c;是评估陆地生态系统氮循环动态和氮限制的关…

【ARMv8/v9 GIC 系列 1.7 -- GIC PPI | SPI | SGI | LPI 中断使能配置概述】

请阅读【ARM GICv3/v4 实战学习 】 文章目录 GIC 各种中断使能配置PPIs(每个处理器私有中断)SPIs(共享外设中断)SGIs(软件生成的中断)LPIs(局部中断)GIC 各种中断使能配置 在ARM GICv3和GICv4架构中,不同类型的中断(如PPIs、SPIs、SGIs和LPIs)可以通过不同的方式进…

分享:2024好的ai文章生成器下载资源 tzqsbic

在当今数字化的时代&#xff0c;ai技术的发展日新月异&#xff0c;为我们的生活和工作带来了诸多便利。其中&#xff0c;ai文章生成器作为一项创新的工具&#xff0c;给当代人们带来了很多好处&#xff0c;尤其是对于很多创作者&#xff0c;不仅能解决创作困难&#xff0c;而且…

【开发工具】webStrom2024版-永久使用

1、解压文件 2、安装步骤 先执行unistall-current-user.vbs&#xff0c;确保当前环境变量下没有历史使用记录。再执行install-current-user.vbs。运行的时候&#xff0c;会有第一个弹窗&#xff0c;点击确定&#xff0c;稍微等待一会&#xff0c;会出现 Done 的弹窗&#xff0…

【Linux】进程间通信之System V共享内存

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在学习c和算法 ✈️专栏&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指点一二 如果文章对…

Prometheus+Grafana监控Linux主机

1、安装Prometheus 1.1 、下载Prometheus 下载网址 https://github.com/prometheus/prometheus/releases选择需要的版本 wget https://github.com/prometheus/prometheus/releases/download/v2.53.0/prometheus-2.53.0.linux-amd64.tar.gz1.2、安装Prometheus软件 1.2.1、…

解决鸿蒙开发中克隆项目无法签名问题

文章目录 问题描述问题分析解决方案 问题描述 在一个风和日丽的早晨&#xff0c;这是我学习鸿蒙开发的第四天&#xff0c;把文档过了一遍的我准备看看别人的项目学习一下&#xff0c;于是就用git去clone了一个大佬的开源项目&#xff0c;在签名的时候遇到了问题&#xff1a; h…

在攻防演练中遇到的一个“有马蜂的蜜罐”

在攻防演练中遇到的一个“有马蜂的蜜罐” 有趣的结论&#xff0c;请一路看到文章结尾 在前几天的攻防演练中&#xff0c;我跟队友的气氛氛围都很好&#xff0c;有说有笑&#xff0c;恐怕也是全场话最多、笑最多的队伍了。 也是因为我们遇到了许多相当有趣的事情&#xff0c;其…

Spring JDBC 具名参数用法

Spring JDBC中具名参数的用法 maven引入Spring jdbc <dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.19</version></dependency> 在Spring配置中配置 <!-…

【leetcode】滑动窗口专题

文章目录 1.长度最小的子数组2.无重复字符的最长子串3.最大连续1的个数III4.将x减小到0的最小操作数5.水果成篮6.找到字符串中所有字母异位词7.串联所有单词的子串8.最小覆盖子串 1.长度最小的子数组 leetcode 209.长度最小的子数组 看到这个题目&#xff0c;第一眼肯定想到的…