dd 作为linux 一个基础测试磁盘I/O 性能的命令,本身功能就非常完善,这片文章主要是记录 dd 命令的日常使用。
最简单的dd 命令
# 测试读性能
time dd if=/opt/testfile.txt of=/dev/null bs=1k count=1000
# 测试写性能
time dd if=/dev/zero of=/opt/testfile.txt bs=1k count=1000
# 测试读写混合
dd if=/opt/testfile1.txt of=/opt/testfile2.txt bs=1k count=1000
当然,还可以使用 dd 的direct I/O 测试方式,直接绕过文件系统缓存,测试磁盘的真实I/O 性能
dd if=/dev/zero of=out.file bs=512K count=2048 oflag=sync
dd if=/dev/zero of=out.file bs=512K count=2048 oflag=dsync
dd if=/dev/zero of=out.file bs=512K count=2048 conv=fsync
oflag=sync,每个 I/O 写入,都需要直接落到 物理存储 的 元数据和 真实数据
oflag=dsync,每个 I/O 写入,都需要直接落到 物理存储 的 真实数据
conv=fsync,只要求在 dd 命令结束前,将所有数据落到物理存储中
linux fio 测试随机 I/O
源码下载地址,本例子中,选择了 fio 3.19 版本作为演示版本
源码编译 fio
源码编译 fio
tar -zxvf fio-3.19.tar.gz
cd fio-3.19
./configure
make && make install