0
点赞
收藏
分享

微信扫一扫

starrocks对大量数据怎么实现hash join

大南瓜鸭 2024-02-21 阅读 12
gitlinux

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

为什么选择 dd?

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

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

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

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

测量写入速度

使用 下面的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),因为它可能会擦除数据。

测量读取速度

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

$ `sync && sudo echo 3 > /proc/sys/vm/drop_caches`

然后进行读测试:

$ dd if=/u02/test1.img of=/dev/null bs=1G count=1

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

示例:
在这里插入图片描述
可以看到SSD的磁盘读速度是HDD的 5倍。

使用 hdparm

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

示例:

$ hdparm -Tt /dev/sdb
  • t: 测试缓冲区磁盘读取。
  • T: 测试缓存读取。

示例:
在这里插入图片描述

总结

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

举报

相关推荐

0 条评论