在 Ubuntu 中无法诊断磁盘读取速度慢、瓶颈

在 Ubuntu 中无法诊断磁盘读取速度慢、瓶颈

我在 2 台(或更多台)机器上运行了相同的进程,我们注意到有些机器的磁盘 I/O 速度大幅下降。这些 PC 的硬件非常相似(我很高兴发布解码如果需要的话)。

我们甚至无法诊断问题。所以让我尽可能详细地描述一下。所有 PC 都运行 Ubuntu 16.04。(注意:在其中一台运行 Ubuntu 18.04 的 PC 上测试时发现了相同的结果)。

我们运行的程序随机选择 32 个文件(图像)进行读取。这些文件每个大约 512K。在“快速”机器上,我们可以在大约 0.5 秒内读取所有文件。(大约 320+MB/s),而在“慢速”PC 上,读取 32 个文件大约需要 2-5 秒。

到目前为止我们已经弄清楚了一些事情:

  • hdparam慢速机器和快速机器上的读取时间输出是可比的。
  • 5400、7200 RPM 磁盘以及 SSD 的速度持续下降。
  • RAID-5 和 RAID-0 都会减速
  • 当我们不随机播放图像(无随机访问)时,速度减慢的情况似乎消失了

****。

以下是测试期间 atop 的输出:

Fast:

MDD |          md1  | busy      0%  | read   22474  | write      0 |  KiB/w      0 |  MBr/s 350.73 |  MBw/s   0.00 |  avio 0.00 ms |
DSK |          sdh  | busy     20%  | read    7251  | write      0 |  KiB/w      0 |  MBr/s  86.58 |  MBw/s   0.00 |  avio 0.27 ms |
DSK |          sdf  | busy     20%  | read    7375  | write      0 |  KiB/w      0 |  MBr/s  88.31 |  MBw/s   0.00 |  avio 0.27 ms |
DSK |          sde  | busy     19%  | read    7399  | write      0 |  KiB/w      0 |  MBr/s  89.36 |  MBw/s   0.00 |  avio 0.26 ms |
DSK |          sdg  | busy     19%  | read    7303  | write      0 |  KiB/w      0 |  MBr/s  86.50 |  MBw/s   0.00 |  avio 0.25 ms |

Slow:

MDD |          md0  | busy      0%  | read    4018  | write      0 |  KiB/w      0 |  MBr/s 140.46 |  MBw/s   0.00 |  avio 0.00 ms |
DSK |          sdd  | busy    100%  | read    1181  | write      0 |  KiB/w      0 |  MBr/s  36.34 |  MBw/s   0.00 |  avio 8.45 ms |
DSK |          sdc  | busy     99%  | read    1153  | write      0 |  KiB/w      0 |  MBr/s  35.29 |  MBw/s   0.00 |  avio 8.55 ms |
DSK |          sde  | busy     99%  | read    1150  | write      0 |  KiB/w      0 |  MBr/s  34.84 |  MBw/s   0.00 |  avio 8.57 ms |

如果我理解正确的话,slow机器已经达到了最大百分比,读取速度约为 1/7。

我们尝试过一些调度程序,但没有改变任何东西。

我甚至在寻求帮助来诊断问题。我很乐意通过提供任何额外的细节来帮助改进问题。我们甚至不知道问题是什么,更不用说解决它了……

更新根据 @agtoever 的建议,发布在 atop+d 结果上:

慢速机器: 转储顶部的缓慢机器

快速机器: 垃圾场顶部的快速机器

相关内容