Usar noatime no Linux moderno faz sentido?

14

A partir da versão 2.6.30 (lançada há 5 anos), o Linux tem a opção relatimeativada por padrão. Isso significa que as atualizações do tempo de acesso ao arquivo são muito raras e prudentes.

Mas ainda vejo recomendações para usar noatimeem bancos de dados ou discos SSD. Existe algum motivo para alterar a configuração padrão e usá-la? Faz alguma diferença mensurável em comparação com relatime?

valodzka
fonte

Respostas:

8

Realmente não há uma resposta única para essa pergunta. Tudo depende de muitos fatores, incluindo aplicativos que estão usando o sistema de arquivos, que combinação de atividades de leitura / gravação está acontecendo e o próprio hardware.

relatimeexiste como um compromisso para garantir que alguns aplicativos (mais antigos), como sistemas de email, usem o valor atime para determinar se um arquivo / mensagem foi lido desde a entrega. Como tal, é uma opção segura para um padrão de sistema de arquivos.

Antes de considerar montar um sistema de arquivos, noatimevocê deve auditar o uso do sistema de arquivos para garantir que nenhum aplicativo dependa do atime para a operação correta.

Supondo que nenhum usuário do sistema de arquivos dependa de atime, se vale a pena alterar o padrão realmente depende do volume de leituras e gravações no sistema de arquivos. Um uso principalmente de leitura provavelmente não fará muita diferença, mas se houver um grande volume de leituras / gravações no mesmo arquivo (por exemplo, cargas de trabalho de banco de dados típicas), você descobrirá que a maioria das leituras também envolve uma gravação de atime e que afetará o desempenho.

Se o sistema de arquivos for usado apenas para o trabalho do banco de dados, deve ser seguro usá-lo noatimee isso reduzirá as gravações no sistema de arquivos.

No final do dia noatime, não deve ser usado sem a devida consideração e a diferença que faz só pode ser determinada com base em uma carga de trabalho específica.

Richm
fonte
1
Como você auditaria o uso do sistema de arquivos para garantir que nenhum aplicativo dependa do atime?
johnboiles
1
Boa pergunta e, infelizmente, não há resposta simples. Eu preferiria que os aplicativos que dependem do atime chamam isso em documentos README, de instalação ou de Perguntas frequentes. Historicamente, um dos principais usuários do atime em relação ao mtime tem sido o MUA (mail user agent) para acompanhar o que foi e o que não foi lido desde a entrega. Minha abordagem geralmente é desativar a modificação do atime e ficar de olho em tudo o que quebra. Historicamente, deixei / var com o rastreamento de relacionamento ativado, mas nas instalações mais recentes eu costumava desativá-lo.
Richm