tmpfs 卷上的 noatime 是否会提高性能?

tmpfs 卷上的 noatime 是否会提高性能?

我正在使用/run/shm/myfoldernginx 微缓存,并将文件保存在那里。我想知道如果我从转到ngx_pagespeed速度是否会提高?它是用于 HDD,但它会改变什么?relatimenoatimetmpfs

tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=9929500k)

答案1

noatime在实际磁盘上使用或的原因relatime在于,如果没有它,读取也会涉及写入磁盘。这种额外的写入会降低系统速度,导致磁盘加速旋转(否则磁盘会长时间处于减速状态),并导致闪存介质磨损。

但是使用 tmpfs 时,无需将数据写入磁盘。数据可以写入交换区,但只有在需要释放 RAM 以存储其他数据时才可以。这意味着 tmpfs 上的频繁更新并不比频繁读取更昂贵,因为在这两种情况下,数据都会保留在内存中。

此外,tmpfs 仅交换文件内容。元数据(包括时间戳)仅保留在 RAM 中。因此,我们实际上只是在讨论是否更新内存中的时间戳,与首先触发它的实际读取操作相比,这非常便宜。

由于这些原因,在 tmpfs 上使用noatime、或不使用之间不太可能存在可测量的性能差异。relatime

答案2

理论上我同意@kasperd 的说法。但是,我决定尝试对我非常繁忙的 tmpfs 支持 munin 数据进行更改,结果发现 munin 总处理时间立即减少了 8%。

这个 fs 有 300,000 多个文件,每个文件每 5 分钟就会被触及一次,我获得的每一点性能都有帮助,因此 8% 非常重要。

相关内容