简略总结
1、测磁盘纯写速度(40MB/s 正常的)
time dd if=/dev/zero of=/测试的磁盘路径/wtest.dbf bs=8k count=100000 oflag=sync
2、测磁盘纯读速度(1GB/S 正常的)
time dd if=/测试的磁盘路径/rtest.dbf of=/dev/null bs=8k count=100000 iflag=sync
3、测磁盘读写速度(100MB/s 正常的)
time dd if=/测试的磁盘路径/rtest.dbf of=/测试的磁盘路径/wtest.dbf bs=8k count=100000 oflag=direct iflag=sync
详细解释
dd:linux命令,可用来数据复制、拷贝文件,可控制读取、转换、输出。
time:linux命令,测量程序、命令执行时间。
if/of:dd命令中,指定读取或写入的磁盘路径。
/dev/zero:伪设备,只产生空字符流,不会产生IO,当指定if为/dev/zero,则IO都集中在of文件中,从而测磁盘纯写性能。
/dev/null:伪设备,相当于黑洞,of到该设备不会产生IO,of=/dev/null的IO只发生在写上,无需等待返回,相当于测磁盘的纯读性能。
oflag、iflag:指定读、写磁盘的行为方式
不指定oflag:dd按照默认通过缓冲区读写文件,即buffer IO,数据写到缓冲区便返回,速度最快。
oflag=direct:数据写到磁盘缓存便返回,速度比buffer IO慢
oflag=sync:数据全部落盘才返回(持久化),速度最慢。