Desativando o atime em um sistema de arquivos

26

Estou configurando um conjunto de réplicas mongoDB e uma das primeiras coisas que devo fazer é desativar o atime no sistema de arquivos. Depois de pesquisar isso um pouco, não me oponho a fazer isso, mas tenho que perguntar: o que usa o atime? Eu pesquisei as interwebs e encontrei muito pouco no sentido de "este applciaiton ou este processo usa atime e você seria estúpido se você desligasse" tipos de avisos, mas sendo uma pessoa paranóica por natureza, eu tenho que me perguntar. / p>

Então, o que usa o atime e se eu desligar, o que poderia quebrar?

    
por QWade 09.11.2010 / 05:12

5 respostas

24

mutt , um cliente de email, usa horários de acesso a arquivos para monitorar novos emails que chegam em uma caixa de correio formatada em mbox. Aparentemente, este problema não é sério, e é fácil de contornar .

Fora isso, é difícil encontrar exemplos de coisas que quebram em noatime . Eu executo um número de servidores Linux com noatime em todos os sistemas de arquivos, e não me lembro de ter visto algum problema atribuível a noatime .

Se você está preocupado em usar noatime em geral, você poderia dedicar um sistema de arquivos separado para o seu material mongoDB e montar apenas aquele sistema de arquivos com noatime .

EDITAR

Eu encontrei um blog interessante no kerneltrap.org que cita algumas discussões entre desenvolvedores Linux (Linus Torvalds, Ingo Molnar, Alan Cox e outros) sobre o tema atime . No segundo e-mail de Ingo, ele diz isso:

... i've got no real complaint about ext3 - with the obligatory qualification that "noatime,nodiratime" in /etc/fstab is a must. This speeds up things very visibly - especially when lots of files are accessed. It's kind of weird that every Linux desktop and server is hurt by a noticeable IO performance slowdown due to the constant atime updates, while there's just two real users of it: tmpwatch [which can be configured to use ctime so it's not a big issue] and some backup tools. (Ok, and mail-notify too i guess.) Out of tens of thousands of applications. So for most file workloads we give Windows a 20%-30% performance edge, for almost nothing.

    
por 09.11.2010 / 05:55
9

As ferramentas que pesquisam o uso de arquivos, como limpadores de arquivos temporários, o utilizam. Você pode contornar isso em alguns sistemas de arquivos e SOs usando relatime , que apenas atualiza o tempo após uma certa duração desde a última atualização.

    
por 09.11.2010 / 05:20
8

Você também pode criar um ponto de montagem separado para o seu conjunto de réplica do mongoDB. Você pode definir o parâmetro noatime apenas nesse ponto de montagem sem afetar nenhum outro programa.

    
por 09.11.2010 / 10:27
4

Como acompanhamento aqui, relatime foi feito o padrão no kernel em 2.6.30 que foi lançado em torno do período de março de 2009. Isso significa que os ganhos que você vê em configurações noatime serão menores em qualquer kernel moderno.

Ainda é uma recomendação porque ainda existe um ganho de desempenho para o MongoDB, mas enquanto você estiver em uma versão de kernel razoavelmente atual, ela não será tão essencial como era antes.

Além disso, além do software mencionado aqui, eu também vi o atime usado pelas ferramentas de backup.

    
por 19.07.2012 / 14:05
1

Gostaria apenas de enfatizar um ponto @Steven Monday - use um sistema de arquivos separado.

Para um banco de dados, essa é sempre uma boa opção e oferece muito mais flexibilidade para ajustar o desempenho do banco de dados com o menor inconveniente de um ponto de montagem extra a ser gerenciado. Normalmente, você também terá mais opções para fazer snapshots do banco de dados para backups (ainda mais úteis nos casos em que você pode fazer snapshot e fazer backup da réplica em vez do master)

    
por 19.07.2012 / 15:33