QWa*_*ade 28 linux unix filesystems mongodb
我正在设置一个 mongoDB 副本集,我想做的第一件事就是关闭文件系统上的 atime。经过一番研究,我不反对这样做,但我不得不问,atime有什么用?我搜索了互联网,发现很少有“这个应用程序或这个过程使用时间,如果你把它关掉你会很愚蠢”这样的警告,但是作为一个天生偏执的人,我不得不怀疑。
那么,什么使用 atime,如果我将其关闭,会破坏什么?
Ste*_*day 27
mutt
是一个电子邮件客户端,它使用文件访问时间来监视到达 mbox 格式邮箱的新邮件。显然,这个问题并不严重,而且很容易解决。
除此之外,很难找到突破的例子noatime
。我noatime
在所有文件系统上运行了许多 Linux 服务器,我不记得曾经见过任何可归因于noatime
.
如果您担心noatime
一般使用,您可以为您的 mongoDB 内容提供一个单独的文件系统,并仅使用noatime
.
编辑
我在 kerneltrap.org上发现了一个有趣的博客,其中引用了 Linux 开发人员(Linus Torvalds、Ingo Molnar、Alan Cox 等)之间关于atime
. 在 Ingo 的第二封电子邮件中,他是这样说的:
...我对 ext3 没有真正的抱怨 - 必须具有 /etc/fstab 中的“noatime,nodiratime”的强制性资格。这非常明显地加快了速度 - 特别是在访问大量文件时。由于 atime 不断更新,每个 Linux 桌面和服务器都受到明显的 IO 性能下降的影响,这有点奇怪,而它只有两个真正的用户:tmpwatch [可以配置为使用 ctime 所以这不是一个大问题]和一些备份工具。(好吧,我猜也是邮件通知。)在数以万计的应用程序中。因此,对于大多数文件工作负载,我们为 Windows 提供了 20%-30% 的性能优势,而几乎一无所获。
Ign*_*ams 10
轮询文件使用情况的工具(例如临时文件清理器)使用它。您可以在某些文件系统和操作系统上通过使用relatime
来解决这个问题,它只会在自上次更新以来经过一定时间后才更新 atime。
作为这里的后续,在relatime
2009 年 3 月左右发布的 2.6.30 内核中被设为默认值。这意味着您从 noatime 设置中看到的收益在任何现代内核上都会减少。
它仍然是一个建议,因为 MongoDB 仍有性能提升,但只要您使用的是合理的当前内核版本,它就不再像以前那样重要。
另外,除了这里提到的软件,我还看到了备份工具使用的atime。
归档时间: |
|
查看次数: |
5984 次 |
最近记录: |