****** 很重要 很有用 很牛逼 的linux下的测试磁盘io速度的脚本
1 安装工具库
安装fio
首先,你需要安装fio。在不同的Linux发行版中,安装方法可能有所不同。
fio可以通过命令行参数直接使用,也可以通过配置文件来定义复杂的测试场景。
点击查看代码
Debian/Ubuntusudo apt-get update
sudo apt-get install fioCentOS/RHELsudo yum install epel-release
sudo yum install fio
- 创建MakeFile文件,直接make命令执行以下脚本。 速度杠杠的。
好使了一批。
点击查看代码
# 定义变量
FIO_CMD = fio
#在此处更改设备
FILENAME = /dev/nvme1n1p2DIRECT = 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