这是使用 pv 测量磁盘读/写性能的好方法吗?

这是使用 pv 测量磁盘读/写性能的好方法吗?

我想测量我购买的新磁盘的读写性能。对于写入,我做了以下操作:

yes | pv -br > /dev/sda

该程序yes只是重复输出一个字符,而且非常高效,因此几乎肯定不会成为瓶颈。我通过 将其传输到磁盘中pv,以监控吞吐量。这给了我大约 450 MiB/s 的速度。

为了测量读取性能,我做了

dd if=/dev/sda | pv -br | dd of=/dev/null

这给了我 180 MiB/s。

我的问题:

  1. 这是衡量读写性能的好方法吗?
  2. 如果没有的话,有什么更好的方法吗?
  3. 如果这些数字是相关的,那么写作比阅读快得多是否合理?

我的硬件包括一台 HP Elitebook 840 G3,配备 16 GB RAM,启动到实时 Ubuntu 20.04,磁盘是 Western Digital Green SATA SSD M.2 2280。

答案1

问题在于它是非结构化的。您只是将数据扔到磁盘上,对于该基准测试来说,它可能足够准确。就您看到的数字之间的差异而言,您可能看到的是写入缓冲区的速度(应该非常快),而不是写入磁盘的速度。磁盘也有自己的缓冲区,这就是为什么进行相当长的写入测试很重要的原因。

像这样的工具磁盘标记(对于过去十年中一直关注 Windows 基准测试的人来说,它明显带有 CrystalDiskMark 的味道)将测试构建为几种不同的读写模式,以更好地反映特定的工作负载。

在此处输入图片描述

Gnome 磁盘(预装在 Ubuntu 上)还有一些轻量级的基准测试,可以让您快速概览一段时间内的性能(驱动器的缓冲区在满了之后会变慢)以及延迟。

在此处输入图片描述

相关内容