Ist die Verwendung von noatime unter modernem Linux sinnvoll?

14

Ab Version 2.6.30 (die vor 5 Jahren veröffentlicht wurde) ist die Option unter Linux relatimestandardmäßig aktiviert. Dies bedeutet, dass Aktualisierungen der Dateizugriffszeit sehr selten und umsichtig sind.

Aber ich immer noch sehen recomendations zu verwenden , noatimefür Datenbanken oder SSD - Discs. Gibt es einen Grund, die Standardkonfiguration zu ändern und zu verwenden? Macht es einen messbaren Unterschied zu relatime?

valodzka
quelle

Antworten:

8

Es gibt wirklich keine einheitliche Antwort auf diese Frage. Es hängt alles von vielen Faktoren ab, einschließlich Anwendungen, die das Dateisystem verwenden, welche Mischung aus Lese- / Schreibaktivität stattfindet und der Hardware selbst.

relatimebesteht als Kompromiss, um sicherzustellen, dass einige (ältere) Anwendungen, wie z. B. E-Mail-Systeme, den atime-Wert verwenden, um festzustellen, ob eine Datei / Nachricht seit der Übermittlung gelesen wurde. Als solche ist es eine sichere Option für einen Dateisystemstandard.

Bevor Sie erwägen, ein Dateisystem mit noatimezu mounten, sollten Sie die Verwendung des Dateisystems überprüfen, um sicherzustellen, dass keine Anwendungen für einen korrekten Betrieb von Zeit abhängig sind.

Unter der Annahme, dass kein Benutzer des Dateisystems von atime abhängig ist, hängt die Frage, ob es sich lohnt, die Standardeinstellung zu ändern, wirklich von der Anzahl der Lese- und Schreibvorgänge im Dateisystem ab. Eine meistens gelesene Nutzung wird wahrscheinlich keinen großen Unterschied machen. Wenn jedoch eine große Anzahl von Lese- / Schreibvorgängen in dieselbe Datei (dh typische Datenbank-Workloads) erfolgt, werden Sie feststellen, dass die meisten Lesevorgänge auch einen Schreibvorgang von atime beinhalten Beeinträchtigt die Leistung.

Wenn das Dateisystem nur für die Arbeit mit Datenbanken verwendet wird, sollte es sicher sein, noatimeund dies verringert die Anzahl der Schreibvorgänge im Dateisystem.

Am Ende des Tages noatimesollte nicht ohne gebührende Überlegung verwendet werden und wie viel Unterschied es macht, kann nur durch Benchmarking unter einer bestimmten Arbeitsbelastung bestimmt werden.

Richm
quelle
1
Wie würden Sie vorgehen, um die Nutzung des Dateisystems zu überwachen, um sicherzustellen, dass keine Anwendungen zeitabhängig sind?
Johnboiles
1
Gute Frage und leider gibt es keine einfache Antwort. Ich würde eher hoffen, dass Anwendungen, die auf atime angewiesen sind, dies in README-, Installations- oder FAQ-Dokumenten anzeigen. In der Vergangenheit war einer der Hauptnutzer von atime im Vergleich zu mtime ein dateibasierter Mail-User-Agent (MUA), der nachverfolgte, was seit der Übermittlung gelesen wurde und was nicht. Mein Ansatz bestand oft darin, nur die Atime-Modifikation zu deaktivieren und nach allem Ausschau zu halten, was kaputt geht. In der Vergangenheit habe ich / var mit aktivierter Relatime-Verfolgung verlassen, aber bei neueren Installationen habe ich diese tendenziell deaktiviert.
Richm