我使用/run/shm/myfolder进行nginx微缓存,并将ngx_pagespeed文件保存在那里。我在想,如果我从relatime到noatime,会不会有提速?这是为硬盘,但在一个tmpfs,它将改变什么?
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=9929500k)发布于 2014-11-14 20:05:10
在实际磁盘上使用noatime或relatime的原因是,没有它,读取也将涉及到对磁盘的写入。这种额外的书写会减慢系统的速度,导致磁盘旋转,否则这些磁盘就会继续旋转更长时间,同时也会导致在闪存介质上的磨损。
但是,使用tmpfs,任何数据都不需要写入磁盘。数据可以写入交换,但只有在需要时才能将RAM释放给其他数据。这意味着tmpfs上的频繁更新并不比频繁读取更昂贵,因为在这两种情况下,结果都是将数据保存在内存中。
此外,tmpfs只交换文件内容。元数据(包括时间戳)只是停留在RAM中。因此,我们实际上只是在讨论是否更新内存中的时间戳,这与触发它的实际读取操作相比非常便宜。
由于这些原因,在tmpfs上使用noatime、relatime或两者都不太可能存在可测量的性能差异。
发布于 2020-04-14 16:45:26
理论上,我同意@kasperd所说的话。然而,我决定尝试在我非常繁忙的tmpfs支持munin数据的tmpfs上进行更改,它立即使munin处理总时间减少了8%。
这个fs有300,000+文件,每个文件每5分钟就会被触摸一次,而且我得到的每一点性能都会有所帮助,所以8%是非常重要的。
https://serverfault.com/questions/644468
复制相似问题