****** 很重要 很有用 很牛逼 的linux下的测试磁盘io速度的脚本

1 安装工具库

安装fio

首先,你需要安装fio。在不同的Linux发行版中,安装方法可能有所不同。

fio可以通过命令行参数直接使用,也可以通过配置文件来定义复杂的测试场景。

点击查看代码
Debian/Ubuntu

sudo apt-get update
sudo apt-get install fio CentOS/RHEL sudo yum install epel-release
sudo yum install fio
  1. 创建MakeFile文件,直接make命令执行以下脚本。 速度杠杠的。

    好使了一批。
点击查看代码
# 定义变量
FIO_CMD = fio
#在此处更改设备
FILENAME = /dev/nvme1n1p2 DIRECT = 0
#随机读randread 写randwrite 混合读写randrw
RW = randrw
#块大小为4KB
BS = 1024k
#在此处更改测试大小
SIZE = 100G
NUMJOBS = 64
#在此处修改运行时间
RUNTIME = 60
#汇总所有作业的结果
GROUP_REPORTING = 1
NAME = test
#以时间戳命名文件
LOG_FILE = LOG_FILE = fio_test_$(shell date +%Y%m%d_%H%M%S).log # 定义 fio 命令
FIO_ARGS = --filename=$(FILENAME) \
--direct=$(DIRECT) \
--rw=$(RW) \
--bs=$(BS) \
--size=$(SIZE) \
--numjobs=$(NUMJOBS) \
--runtime=$(RUNTIME) \
--group_reporting=$(GROUP_REPORTING) \
--name=$(NAME) \
--status-interval=1 # 默认目标
all: test # 运行 fio 测试并将输出保存到日志文件
test:
@echo "Running fio test..."
$(FIO_CMD) $(FIO_ARGS) | tee $(LOG_FILE) #保存日志而且实时显示
@echo "Test completed. Log saved to $(LOG_FILE)." # 清理日志文件
clean:
@echo "Cleaning up..."
rm -f $(LOG_FILE) .PHONY: all test clean help

linux系统测试磁盘IO速度 - fio使用的更多相关文章

  1. linux上测试磁盘IO速度

    运维工作,经常要测试服务器硬件性能,以此来判断是否存在性能瓶颈. 下面介绍在linux上测试磁盘IO速度的工具: 1.hdparm CentOS中,安装的两种方法: 1) yum安装. # yum i ...

  2. linux查看磁盘io的几种方法

    怎样才能快速的定位到并发高是由于磁盘io开销大呢?可以通过三种方式: 第一种:用 top 命令 中的cpu 信息观察 Top可以看到的cpu信息有: Tasks: 29 total, 1 runnin ...

  3. linux 磁盘IO速度测试

    写入速度测试命令:time dd oflag=direct if=/dev/zero of=/data2/test bs=2k count=1000000 //if表示从哪里读取 of表示写入到哪里 ...

  4. Linux系统 磁盘IO过高排查总结

    最近做的一个电商网站因为磁盘 I/O 过高导致访问速度奇慢,问题存在两个月有余未得到解决办法.此次排查原因的经验可以作下次问题的参考. 1.会看懂 top 系统命令出来的各项参数.此次是无意中发现 u ...

  5. Linux 查看磁盘IO并找出占用IO读写很高的进程

    背景-线上告警 线上一台服务器告警,磁盘利用率 disk.util > 90,并持续告警. 登录该服务器后通过 iostat -x 1 10 查看了相关磁盘使用信息.相关截图如下: # 如果没有 ...

  6. Linux 检查磁盘性能速度

    1. hdparm 工具: hdparm –t 设备名(/dev/sda1) 2. time dd if=/dev/zero of=/tmp/test.dat bs=1G count=1

  7. Linux下java获取CPU、内存、磁盘IO、网络带宽使用率

    一.CPU 使用proc文件系统,"proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文件系统的方式为访问系统内核数据的操作提供接口.用户和应用程序可以通过proc得 ...

  8. linux 下查看磁盘IO状态

    from:脚本之家 linux 查看磁盘IO状态操作 作者:佚名 字体:[增加 减小] 来源:互联网 时间:11-15 15:13:44我要评论 Linux系统出现了性能问题,一般我们可以通过top. ...

  9. linux 磁盘io监控

    我们在线上linux服务器排查问题时,一般会通过top.free.netstat.df -h等命令排查cpu.内存.网络和磁盘等问题.有的时候我们需要更进一步了解磁盘io的使用情况,那么本文就是重点讲 ...

  10. 分布式监控系统Zabbix3.2添加自动发现磁盘IO并注册监控

     zabbix并没有给我们提供这么一个模板来完成在Linux中磁盘IO的监控,所以我们需要自己来创建一个,在此还是在Linux OS中添加. 由于一台服务器中磁盘众多,如果只一两台可以手动添加,但服务 ...

随机推荐

  1. SpringBoot外部配置以及优先级

      SpringBoot外部配置属性值的方式有很多种,SpringBoot为这多种配置方式指定了优先级,在属性相同的情况下,优先级高的配置方式会覆盖优先级低的配置方式.当然,如果属性不相同,则这些配置 ...

  2. okhttp3设置代理(http/https)

    最近项目网络请求需要设置代理,记录一下.http和https都可以. OkHttpClient.Builder builder = new OkHttpClient.Builder(); //代理服务 ...

  3. conda虚拟环境中设置环境变量

    引言 使用conda创建虚拟环境就是为了方便管理,各个环境之间的模块是独立的.有时候我们在做项目的时候需要设置一下环境变量才方便实用,但是不想影响到其他的虚拟环境,因此不能再系统的环境变量里面设置. ...

  4. Qt开源作品28-邮件发送工具

    一.前言 邮件发送工具是好多年前就开源出来的,核心就是调用最底层socket通信来实现的邮件发送程序,以前用C#写过,微软都封装好的,不知道底层是如何实现的,只知道调用方法,这次用C++实现了下,参考 ...

  5. C# – XmlSerializer:字符串“2020-07-31 09:29:16”不是有效的 AllXsd 值。

    C#中使用XmlSerializer对字符串进行反序列化时,提示:字符串"2020-07-31 09:29:16"不是有效的AllXsd值. 原因: 先说下为什么会出现这样的错误, ...

  6. 得物自研客服IM中收发聊天消息背后的技术逻辑和思考实现

    本文由得物技术WWQ分享,原题"客服发送一条消息背后的技术和思",本文有修订和改动. 1.引言 在企业IM客服场景中,客服发送一条消息的背后,需要考虑网络通信.前端展示.后端存储以 ...

  7. IM扫码登录技术专题(三):通俗易懂,IM扫码登录功能详细原理一篇就够

    本文引用了作者"大古同学"的"二维码扫码登录是什么原理"一文的主要内容,为了更好的理解和阅读,即时通讯网收录时有修订和改动,感谢原作者的分享. 1.引言 自从微 ...

  8. Sharding-JDBC分库分表

    https://blog.csdn.net/bochuangli/article/details/123029392 https://blog.csdn.net/bochuangli/article/ ...

  9. JAVA调用groovy脚本的方式

    一.使用用 Groovy 的 GroovyClassLoader ,它会动态地加载一个脚本并执行它.GroovyClassLoader是一个Groovy定制的类装载器,负责解析加载Java类中用到的G ...

  10. ORACLE存储过程,函数,包,游标

    1.  PL/SQL语句块PL/SQL语句块只适用于Oracle数据库,使用时临时保存在客户端,而不是保存在数据库.基本语法: declare 变量声明.初始化 begin 业务处理.逻辑代码 exc ...