前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >测试硬盘的性能,用dd就够了?

测试硬盘的性能,用dd就够了?

作者头像
用户8196625
发布2024-02-26 15:57:01
2060
发布2024-02-26 15:57:01
举报
文章被收录于专栏:oracleaceoracleace

在众多磁盘性能测试工具中,dd 命令因其简单易用和易于获得而深受广大运维工程师的喜爱。在这篇文章中,我们将探讨如何将它与 hdparm 命令一起使用,快速有效地评估磁盘性能。

01

为什么选择dd

不久前,一个客户的数据库突然变得很慢,让我去优化,我使用 dd 命令进行了检查:

发现磁盘的读取速度低至 25.8 kB/s,显然数据库并不是瓶颈,而是存储系统出了故障。这是使用dd进行测试的一个实际例子,这种测试在英文里叫sanity check,直译成测试存储是否神智清醒😀。

虽然 fioorionlometer 等专业磁盘测试工具提供了更全面的分析,但 dd 具有以下优势:

  • 简单易用
  • Linux/Unix自带,不用另外安装。
  • 功能简单,但大部分场景下够用。

关于号主,姚远:

  • Oracle ACE(Oracle和MySQL数据库方向)
  • 华为云最有价值专家
  • 《MySQL 8.0运维与优化》的作者
  • 拥有 Oracle 10g、12c和19c OCM等数十项数据库认证
  • 曾任IBM公司数据库部门经理
  • 20+年DBA经验,服务2万+客户
  • 精通C和Java,发明两项计算机专利

02

测量写入速度

使用 下面的dd命令一次性向硬盘写入1GB数据,用于测量写入速度:

代码语言:javascript
复制
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

测量读取速度

为了获得准确的读取速度,在测试前使用下面的命令清除缓存:

代码语言:javascript
复制
$ `sync && sudo echo 3 > /proc/sys/vm/drop_caches`
代码语言:javascript
复制
然后使用下面的命令一次性读取1GB的数据,用于进行读测试:
代码语言:javascript
复制
$ dd if=/u02/test1.img of=/dev/null bs=1G count=1
代码语言:javascript
复制

其中/dev/null是操作系统自带的空文件,用于丢弃输入的数据。

示例:

可以看到SSD的磁盘读速度是HDD的 5倍。

03

使用hdparm

另一个Linux系统自带的命令hdparm 也可以用于对磁盘的性能进行快速评估。这个工具对设备的访问是块级别,测试的结果会比对文件系统性的访问要快。

示例:

代码语言:javascript
复制
$ hdparm -Tt /dev/sdb
  • t: 测试缓冲区磁盘读取。
  • T: 测试缓存读取。

示例:

可以看到从缓存读的速度是一样的,但从磁盘读时,SSD的速度大约是HDD的7倍。

03

总结

虽然 ddhdparm 提供的测试结果不够详尽,但对于需要快速磁盘性能评估的工程师来说,它们通常够用。如果需要进一步深入分析磁盘的性能,可以考虑使用fio等更强大的工具。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-02-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 oracleace 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用 下面的dd命令一次性向硬盘写入1GB数据,用于测量写入速度:
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档