31 votes

Désactiver atime sur un système de fichiers

Je suis en train de configurer un jeu de répliques MongoDB et l'une des premières choses que je suis censé faire est de désactiver atime sur le système de fichiers. Après avoir fait quelques recherches, je ne suis pas opposé à cette idée, mais je dois demander : qu'est-ce qui utilise atime ? J'ai cherché sur Internet et j'ai trouvé très peu d'avertissements du type "cette application ou ce processus utilise atime et vous seriez stupide si vous le désactiviez", mais comme je suis paranoïaque de nature, je me pose la question.

Alors, qu'est-ce qui utilise atime et si je le désactive, qu'est-ce qui pourrait casser ?

29voto

Priyan R Points 687

mutt un client de messagerie, utilise les temps d'accès aux fichiers pour surveiller l'arrivée de nouveaux messages dans une boîte aux lettres au format mbox. Apparemment, ce problème n'est pas grave, et il est facile à contourner .

En dehors de cela, il est difficile de trouver des exemples de choses qui se cassent sur le terrain. noatime . Je gère un certain nombre de serveurs Linux avec noatime sur tous les systèmes de fichiers, et je ne me rappelle pas avoir jamais vu de problèmes attribuables aux noatime .

Si vous êtes préoccupé par l'utilisation noatime en général, vous pouvez consacrer un système de fichiers séparé pour votre matériel mongoDB, et monter uniquement ce système de fichiers avec la commande noatime .

EDIT

J'ai trouvé un blog intéressant à kerneltrap.org qui cite quelques discussions entre des développeurs de Linux (Linus Torvalds, Ingo Molnar, Alan Cox, et d'autres) sur le sujet suivant atime . Dans le deuxième courriel d'Ingo, il dit ceci :

... je n'ai pas vraiment à me plaindre de ext3 - avec la qualification obligatoire que "noatime,nodiratime" dans /etc/fstab est un must. Cela accélère les choses de manière très visible - surtout lorsque quand beaucoup de fichiers sont accédés. C'est assez bizarre que tous les ordinateurs et serveurs Linux soit affecté par un ralentissement notable des performances d'entrée-sortie dû aux à cause des mises à jour constantes de atime, alors qu'il n'y a que deux vrais utilisateurs : tmpwatch [qui peut être configuré pour utiliser ctime donc ce n'est pas un gros problème]. et quelques outils de sauvegarde. (Ok, et mail-notify aussi je suppose.) Sur des dizaines de milliers d'applications. Donc, pour la plupart des charges de travail sur les fichiers, nous donnons à Windows une note de 20%-30% de performance en plus, pour presque rien.

11voto

David Points 344

Les outils qui sondent l'utilisation des fichiers, comme les nettoyeurs de fichiers temporaires, l'utilisent. Vous pouvez contourner ce problème sur certains systèmes de fichiers et systèmes d'exploitation en utilisant la méthode suivante relatime à la place, qui ne met à jour l'atime qu'après une certaine durée écoulée depuis sa dernière mise à jour.

8voto

Francois Wolmarans Points 1560

Vous pouvez également créer un point de montage distinct pour votre ensemble de répliques MongoDB. Vous pouvez alors définir le paramètre noatime sur ce point de montage uniquement sans affecter les autres programmes.

6voto

Adam C Points 5092

En guise de suivi ici, relatime est devenu la valeur par défaut du noyau dans la version 2.6.30 qui a été publiée vers mars 2009. Cela signifie que les gains obtenus grâce aux paramètres noatime seront moindres sur les noyaux modernes.

Il s'agit toujours d'une recommandation car MongoDB peut encore gagner en performances, mais tant que vous utilisez une version raisonnablement récente du noyau, ce n'est plus aussi essentiel qu'auparavant.

En outre, en plus des logiciels mentionnés ici, j'ai également vu atime utilisé par les outils de sauvegarde.

1voto

Adam Points 2408

Je voudrais juste souligner un point de @Steven Monday - utilisez un système de fichiers séparé.

Pour une base de données, c'est toujours une bonne option et cela vous donne beaucoup plus de flexibilité dans le réglage des performances de la base de données, avec le léger inconvénient d'un point de montage supplémentaire à gérer. En général, cela vous donne aussi plus d'options pour faire des instantanés de la base de données pour les sauvegardes (encore plus pratique dans les cas où vous pouvez faire des instantanés et sauvegarder la réplique au lieu du maître).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X