01
—
为什么选择dd
dd命令进行了检查:

fio、
orion和
lometer等专业磁盘测试工具提供了更全面的分析,但
dd具有以下优势:
简单易用
Linux/Unix自带,不用另外安装。
功能简单,但大部分场景下够用。
关于号主,姚远:
Oracle ACE(Oracle和MySQL数据库方向)
华为云最有价值专家
《MySQL 8.0运维与优化》的作者
拥有 Oracle 10g、12c和19c OCM等数十项数据库认证
曾任IBM公司数据库部门经理
20+年DBA经验,服务2万+客户
精通C和Java,发明两项计算机专利
02
—
测量写入速度
使用 下面的dd命令一次性向硬盘写入1GB数据,用于测量写入速度:
dd if=/dev/zero of=test.img bs=1G count=1 conv=fdatasync
/dev/zero
: 提供空字符的输入文件。test.img
: 输出文件。bs=1G
: 块大小。count=1
: 块数。conv=fdatasync
: 跳过缓存,直接写磁盘,相当于选项 “oflag=dsync”。
示例:

说明:“/u02” 位于 HDD,而 “/u04” 位于 SSD,可以看到SSD的磁盘写速度比HDD快大约1倍。
警告: 避免使用 dd
直接写入块设备(例如:/dev/sda
),因为它可能会擦除数据。
03
—
测量读取速度
$ `sync && sudo echo 3 > proc/sys/vm/drop_caches`
然后使用下面的命令一次性读取1GB的数据,用于进行读测试:
$ dd if=/u02/test1.img of=/dev/null bs=1G count=1
其中/dev/null是操作系统自带的空文件,用于丢弃输入的数据。
示例:

03
—
使用hdparm
hdparm也可以用于对磁盘的性能进行快速评估。这个工具对设备的访问是块级别,测试的结果会比对文件系统性的访问要快。
示例:
$ hdparm -Tt dev/sdb
t: 测试缓冲区磁盘读取。
T: 测试缓存读取。
示例:

03
—
总结
dd和
hdparm提供的测试结果不够详尽,但对于需要快速磁盘性能评估的工程师来说,它们通常够用。如果需要进一步深入分析磁盘的性能,可以考虑使用fio等更强大的工具。
欢迎关注我的公众号,一起学习数据库技术👇
推荐文章👇
试看号主的拙作《MySQL 8.0运维与优化》(清华大学出版社)
托业890分的Oracle ACE为您翻译国际大佬的雄文(合集)
晒一下号主的19个Oracle认证(OCP+OCM),欢迎PK
文章转载自oracleace,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




