linux测试读写速率命令
linux测试读写速率命令详细介绍
在 Linux 系统中,测试磁盘读写速率的常用命令包括 dd、hdparm、sysbench 和 fio 等,以下是具体用法:
1.
dd 命令(简单快速测试)
dd 是 Linux 内置工具,通过模拟读写文件来测试磁盘性能,适用于基础场景。
写入测试:
bash
/dev/zero test_write.bin 1M fdatasync
读取测试:
bash
test_write.bin /dev/null 1M
结果分析:
命令输出中的 real 时间(实际耗时)可用于计算速率:
plaintext
读写速率 = (文件大小) / (耗时) ≈ (1024MB) / (t秒) = (1024 / t) MB/s
2.
hdparm 命令(块设备读取测试)
hdparm 主要用于测试磁盘的读取性能(不测试写入),需以管理员权限运行。
测试磁盘读取速率:
bash
hdparm /dev/sda
输出示例:
plaintext
/dev/sda:Timing buffered disk reads: 3960 MB in 3.00 seconds = 1320.00 MB/sec
3.
sysbench 命令(更全面的 I/O 测试)
sysbench 是多功能性能测试工具,支持随机读写、并发等场景,需先安装:
bash
sysbenchdnf sysbench
顺序写入测试:
bash
sysbench fileio --file-total-size2G preparesysbench fileio --file-total-size2G --file-test-modewrite run
顺序读取测试:
bash
sysbench fileio --file-total-size2G --file-test-moderead run
清理测试文件:
bash
sysbench fileio --file-total-size2G cleanup
4.
fio 命令(专业级 I/O 性能测试)
fio 是高度可配置的 I/O 测试工具,支持多种场景(顺序 / 随机、同步 / 异步、多线程等),需安装:
bash
fiodnf fio
示例:顺序写入测试(1GB,4KB 块)
bash
fio sequential_write /dev/sda 4k 1G write
示例:随机读取测试(1GB,4KB 块,8 线程)
bash
fio random_read /dev/sda 4k 1G randread
选择建议:
- 简单快速测试:优先使用
dd或hdparm。 - 全面场景测试:使用
sysbench(适合新手)或fio(适合专业性能分析)。 - 注意:测试时确保目标文件 / 设备不存在业务数据,避免影响系统性能。