从2.6.30版本(5年前发布)开始,Linux relatime
默认启用该选项。这意味着文件访问时间的更新非常少见且谨慎。
但我仍然看到recomendations使用noatime
的数据库或SSD盘。是否有任何理由更改默认配置并使用它?与相比有relatime
什么可测量的区别吗?
从2.6.30版本(5年前发布)开始,Linux relatime
默认启用该选项。这意味着文件访问时间的更新非常少见且谨慎。
但我仍然看到recomendations使用noatime
的数据库或SSD盘。是否有任何理由更改默认配置并使用它?与相比有relatime
什么可测量的区别吗?
Answers:
对于这个问题,确实没有任何答案。这完全取决于许多因素,包括正在使用文件系统的应用程序,正在进行的读/写活动的混合以及硬件本身。
relatime
为了确保某些(较旧的)应用程序(例如电子邮件系统)使用atime值来确定自交付以来是否已读取文件/消息,它的存在是一种折衷。因此,这是文件系统默认设置的安全选项。
在考虑与之一起挂载文件系统之前,noatime
应审核文件系统的使用情况,以确保没有应用程序依赖于时间进行正确的操作。
假设没有文件系统用户依赖于时间,那么是否值得更改默认值确实取决于对文件系统的读写量。以只读为主的用法可能不会有太大的区别,但是如果对同一文件进行大量读/写操作(即典型的数据库工作负载),那么您会发现大多数读操作还涉及一次写操作,并且会影响性能。
如果文件系统仅用于数据库工作,则应该安全使用noatime
,这将减少对文件系统的写入。
到了最后,noatime
不应不加考虑就使用它,它所产生的差异只能通过在特定工作负载下进行基准测试来确定。