测试纯写入性能
time dd if=/dev/zero of=test bs=4k count=10000 oflag=direct
测试纯读取性能
time dd if=test of=/dev/null bs=4k count=10000 iflag=direct
①、time有计时作用,dd用于复制,从if读出,写到of;
②、if=/dev/zero不产生IO,因此可以用来测试纯写速度;
③、同理of=/dev/null不产生IO,可以用来测试纯读速度;
④、将/tmp/test拷贝到/var则同时测试了读写速度;
⑤、bs是每次读或写的大小,即一个块的大小,count是读写块的数量。
oflag=direct将跳过内存缓存,direct 读写数据采用直接IO方式;
if=xxx 从xxx读取,如if=/dev/zero,该设备无穷尽地提供0,(不产生读磁盘IO)
of=xxx 向xxx写出,可以写文件,可以写裸设备。如of=/dev/null,"黑洞",它等价于一个只写文件. 所有写入它的内容都会永远丢失. (不产生写磁盘IO)。
dd测试是运维常用来测试磁盘读写性能的,配合iostat的一起使用观察磁盘性能。dd测试是顺序写入磁盘,结果是参考值,常用标准块4K测试,根据实际需要调整bs参数。测试时一定加direct值,无缓存测试。需要和线上正常磁盘比对,否则没有参考价值。