笔者也经常在网上查询信息,但发现很多信息都是照搬,内容甚至有错误,可用性很低.笔者就认为如果要分享就应该把遇到的问题真实的分享出来,让更多同路人少走弯路.节约时间.
觉得这篇文章有帮助的同学可以点个赞!将真有用的信息传递给更多人!
本文参考文章http://www.caotama.com/1795792.html
此处可参考https://www.cnblogs.com/sylar5/p/6649009.html
if=/dev/zero不产生IO,因此可以用来测试纯写速度;
if=/dev/zero(产生字符)不产生IO,因此可以用来测试纯写速度;
同理of=/dev/null(回收站、无底洞)不产生IO,可以用来测试纯读速度;
将/tmp/test拷贝到/var则同时测试了读写速度;
bs是每次读或写的大小,即一个块的大小,count是读写块的数量。
lsblk -f
比如此时测试sdb硬盘下sdb1分区的读写速度,进入到对应分区的挂载目录,然后执行测试命令
cd /mnt/pve/HD1T
比如测试此分区下速度,
按顺序写入,每次写入文件大小为32k,写入4000次
dd bs=32k count=4k if=/dev/zero of=test oflag=dsync
dd if=/dev/sdc of=/dev/null bs=10240k count=400 iflag=direct
/dev/sdc是实际的物理硬盘.
bs=10240k count=400 循环400次 每次 10240k
dd if=/dev/sdc of=/dev/null bs=32k count=4000 iflag=direct
/dev/sdc是实际的物理硬盘.
bs=32k count=4000循环4000次 每次 32k
dd bs=1024k count=4096 if=/dev/zero of=test conv=fdatasync
4096*1024k=4Gb,conv=fdatasync执行后一次性写入