海哥 发表于 2025-3-5 09:10:32

linux系统测试磁盘IO速度 - fio利用

******很重要 很有用 很牛逼 的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
[*]创建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
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: linux系统测试磁盘IO速度 - fio利用