Linux fio命令的用法(附带实例)
Linux 的 fio 命令来自英文词组flexible I/O tester 的缩写,功能是对硬盘进行压力测试。
硬盘 I/O 吞吐率是其性能的重要指标之一,运维人员可以使用 fio 命令对其进行测试,测试又可以细分为顺序读写和随机读写两大类。
fio 命令的语法格式如下:
【实例 1】进行随机读取测试:
【实例 2】进行随机写入测试:
【实例 3】进行顺序写入测试:
硬盘 I/O 吞吐率是其性能的重要指标之一,运维人员可以使用 fio 命令对其进行测试,测试又可以细分为顺序读写和随机读写两大类。
fio 命令的语法格式如下:
fio 参数 设备名
常用参数见下表:选项 | 描述 | 选项 | 描述 |
---|---|---|---|
--bandwidth-log | 生成每个作业的带宽日志 | --max-jobs | 设置最大支持的作业数 |
--client | 设置要完成作业的主机信息 | --minimal | 使用简洁格式显示统计信息 |
--daemonize | 指定要将 PID 信息写入到的文件 | --output | 设置输出文件名 |
--debug | 使用调试模式 | --runtime | 限制运行时间 |
--eta | 设置何时输出 ETA 评估值 | --readonly | 启用只读安全检查 |
-bs | 指定单次 I/O 的块文件大小 | -rw=randwrite | 测试随机写的 I/O |
bsrange | 指定数据块的大小范围 | -rw=randrw | 测试随机写和读的 I/O |
-filename | 测试文件名称 | -size | 指定每个线程读写的数据量 |
--help | 显示帮助信息 | --version | 显示版本信息 |
--latency-log | 生成每个作业的延迟日志 |
【实例 1】进行随机读取测试:
[root@clinux ~]# fio -filename=File -direct=1 -iodepth 1 -thread -rw=read -ioengine= psync -bs=16k -size=10G -numjobs=10 -runtime=100 -group_reporting -name=mytest
【实例 2】进行随机写入测试:
[root@clinux ~]# fio -filename=File -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest
【实例 3】进行顺序写入测试:
[root@clinux ~]# fio -filename=File -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -si