du 命令用于检索上传占用的磁盘空间,它导致了我的管理仪表板性能问题。是的,我们有很多图片上传。我决定不完全禁用它(毕竟我们有 Grafana/Prometheus 仪表板),而是使用 df 来进行一个非常粗略的近似计算,以获得更快的速度。当然,管理员可以选择此更改,默认仍为 du。
我已经为此更改提交了一个 PR。这是我的第一个 PR,请对我温柔一点 :))
您可以在此处查看 PR:
du 命令用于检索上传占用的磁盘空间,它导致了我的管理仪表板性能问题。是的,我们有很多图片上传。我决定不完全禁用它(毕竟我们有 Grafana/Prometheus 仪表板),而是使用 df 来进行一个非常粗略的近似计算,以获得更快的速度。当然,管理员可以选择此更改,默认仍为 du。
我已经为此更改提交了一个 PR。这是我的第一个 PR,请对我温柔一点 :))
您可以在此处查看 PR:
您对 du 命令花费了多长时间有大致的了解吗?我不太喜欢这种解决性能问题的方法,我认为有两种替代方案:
Upload.sum(:filesize).to_i + OptimizedImage.sum(:filesize).to_i 来确定 uploads_used_bytes,就像我们为外部存储所做的那样。我个人更倾向于 (1),因为它是一个更简单的解决方案。我们确实会损失一些准确性,但这里不需要 100% 的准确性。不过,这仍然比我们从 df 获得的近似值要好得多。
感谢您的反馈。
du 在 HDD 上花费的时间超过一分钟,而在 SSD 上大约需要 20 秒。
我的理由是,如果您有一个依赖于上传的实例,就像我们的实例一样,您无论如何都会为上传设置一个专用分区。
但是,是的,您的解决方案 #1 看起来更简洁。我会研究一下并提交一个修改后的 PR。
修改后的PR在此:
感谢您的考虑。