一.为什么要测试磁盘读写性能
当我们编写程序时,尤其是服务端程序,有时需要关注程序性能,磁盘的读写性能会对程序性能产生影响,所以我们就要测试磁盘读写性能。
二.如何测试磁盘读写性能
其实测试磁盘读写性能方法很多,这篇文件介绍其中一种,那就是使用dd命令进行测试,先简单讨论一下dd命令的参数。
if:指定读取的文件。
of:指定写入的文件。
bs:传输的每个数据块大小,比如1k/1M/1G。
count:传输的数据块数量。
iflag/oflag=direct:表示读/写不使用cache,直接读写磁盘。
1.测试读
直接看命令
#不用cache
time dd if=/test/file of=/dev/null bs=1M count=10 iflag=direct
#使用cache
time dd if=/test/file of=/dev/null bs=1M count=10
2.测试写
直接看命令
#不用cache
time dd of=/test/file if=/dev/zero bs=1M count=10 oflag=direct
#使用cache
time dd of=/test/file if=/dev/zero bs=1M count=10
三.其他
示例中的/dev/null和/dev/zero是两个特殊的设备文件,所有写入/dev/null的数据都会丢弃,/dev/zero可以提供任意多的0字符。