Wyłączanie atime w systemie plików

27

Konfiguruję zestaw replik mongoDB i jedną z pierwszych rzeczy, które mam zrobić, jest wyłączenie systemu plików na czas. Po dokładnym zbadaniu tego nie jestem przeciwny temu, ale muszę zapytać, z czego korzysta jednocześnie? Przeszukałem interweny i bardzo mało znalazłem na przeszkodzie, by „ta aplikacja lub ten proces używałyby w czasie, a ty byłbyś głupi, gdybyś ją wyłączył”, ale z natury jestem paranoikiem, muszę się zastanawiać.

Więc co wykorzystuje atime, a jeśli go wyłączę, co może się zepsuć?

QWade
źródło

Odpowiedzi:

25

mutt, klient poczty e-mail, wykorzystuje czasy dostępu do plików do monitorowania nowej poczty przychodzącej do skrzynki pocztowej w formacie mbox. Najwyraźniej ten problem nie jest poważny i łatwo go obejść .

Poza tym trudno jest znaleźć przykłady rzeczy, które się psują noatime. Korzystam z wielu serwerów Linux noatimena wszystkich systemach plików i nie mogę sobie przypomnieć, że kiedykolwiek widziałem jakiekolwiek problemy, które można by przypisać noatime.

Jeśli noatimeobawiasz się ogólnie używać , możesz poświęcić osobny system plików na swoje mongoDB i zamontować tylko ten system plików noatime.

EDYTOWAĆ

Znalazłem interesujący blog na kerneltrap.org, który cytuje niektóre dyskusje między twórcami Linuksa (Linus Torvalds, Ingo Molnar, Alan Cox i inni) na ten temat atime. W drugim e-mailu Ingo mówi:

... nie mam prawdziwej skargi na ext3 - z obowiązkową kwalifikacją, że „noatime, nodiratime” w / etc / fstab jest koniecznością. Przyspiesza to bardzo widocznie - szczególnie, gdy uzyskuje się dostęp do wielu plików. To trochę dziwne, że każdy komputer i serwer z Linuksem odczuwa znaczne spowolnienie wydajności IO z powodu ciągłych aktualizacji atime, podczas gdy jest tylko dwóch prawdziwych użytkowników: tmpwatch [który można skonfigurować tak, aby używał ctime, więc nie jest to duży problem] i niektóre narzędzia do tworzenia kopii zapasowych. (Ok i chyba też wysyłaj powiadomienia pocztą). Spośród dziesiątek tysięcy aplikacji. Dlatego w przypadku większości obciążeń plików dajemy systemowi Windows 20–30% przewagę wydajności prawie za darmo.

Steven Monday
źródło
10

Używają go narzędzia, które sondują wykorzystanie plików, takie jak tymczasowe narzędzia do czyszczenia plików. Możesz obejść ten problem w niektórych systemach plików i systemach operacyjnych, używając relatimezamiast tego, który aktualizuje atime dopiero po upływie określonego czasu od ostatniej aktualizacji.

Ignacio Vazquez-Abrams
źródło
8

Możesz także utworzyć osobny punkt montowania dla swojego zestawu replik mongoDB. Następnie możesz ustawić parametry noatime na tym punkcie montowania tylko bez wpływu na inne programy.

Francois Wolmarans
źródło
4

Jako kontynuacja tutaj, relatimezostał ustawiony jako domyślny w jądrze w wersji 2.6.30, która została wydana około marca 2009. Oznacza to, że zyski widoczne w ustawieniach Noatime będą mniejsze w każdym nowoczesnym jądrze.

Jest to nadal zalecenie, ponieważ MongoDB nadal wymaga zwiększenia wydajności, ale dopóki masz dość aktualną wersję jądra, nie jest ona tak istotna, jak kiedyś.

Oprócz wspomnianego tutaj oprogramowania widziałem również atime używany przez narzędzia do tworzenia kopii zapasowych.

Adam C.
źródło
1

Chciałbym tylko podkreślić punkt @Steven Monday - użyj osobnego systemu plików.

W przypadku bazy danych jest to zawsze dobra opcja i zapewnia o wiele większą elastyczność w dostosowywaniu wydajności bazy danych przy niewielkich niedogodnościach związanych z dodatkowym punktem montowania do zarządzania. Zwykle daje więcej opcji do tworzenia migawek bazy danych również w przypadku kopii zapasowych (nawet bardziej przydatne w przypadkach, gdy można wykonać migawkę i wykonać kopię zapasową repliki zamiast wzorca)

DisabledLeopard
źródło