我在 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 结果上: