Mematikan atime pada sistem file

27

Saya menyiapkan set replika mongoDB dan salah satu hal pertama yang saya lakukan adalah mematikan atime pada sistem file. Setelah meneliti ini sedikit, saya tidak menentang melakukan ini, tetapi saya harus bertanya, apa yang menggunakan atime? Saya telah mencari jalinan dan menemukan sangat sedikit di jalan "aplikasi ini atau proses ini menggunakan atime dan Anda akan bodoh jika Anda mematikannya" jenis peringatan, tetapi pada dasarnya menjadi orang yang paranoid, saya harus bertanya-tanya.

Jadi, apa yang menggunakan atime dan jika saya mematikannya, apa yang bisa rusak?

QWade
sumber

Jawaban:

25

mutt, klien email, menggunakan waktu akses file untuk memantau kedatangan surat baru di kotak surat yang diformat mbox. Tampaknya, masalah ini tidak serius, dan mudah diatasi .

Selain itu, sulit untuk menemukan contoh hal-hal yang pecah noatime. Saya menjalankan sejumlah server Linux dengan noatimedi semua sistem file, dan saya tidak ingat pernah melihat masalah yang disebabkan noatime.

Jika Anda khawatir tentang penggunaan noatimesecara umum, Anda bisa menggunakan sistem file terpisah untuk hal-hal mongoDB Anda, dan hanya me-mount sistem file dengan itu noatime.

EDIT

Saya menemukan blog yang menarik di kerneltrap.org yang mengutip beberapa diskusi antara pengembang Linux (Linus Torvalds, Ingo Molnar, Alan Cox, dan lain-lain) pada topik atime. Dalam email kedua Ingo, dia mengatakan ini:

... saya tidak punya keluhan tentang ext3 - dengan kualifikasi wajib bahwa "noatime, nodiratime" di / etc / fstab adalah suatu keharusan. Ini mempercepat banyak hal - terutama ketika banyak file diakses. Agak aneh bahwa setiap desktop dan server Linux dirugikan oleh perlambatan kinerja IO yang nyata karena pembaruan atime yang konstan, sementara hanya ada dua pengguna sebenarnya: tmpwatch [yang dapat dikonfigurasi untuk menggunakan waktu jadi itu bukan masalah besar] dan beberapa alat cadangan. (Ok, dan kirim email juga saya kira.) Dari puluhan ribu aplikasi. Jadi untuk sebagian besar beban kerja file, kami memberikan Windows kinerja 20% -30%, hampir tidak ada.

Steven Monday
sumber
10

Alat yang mengumpulkan untuk penggunaan file seperti pembersih file sementara menggunakannya. Anda dapat menyiasati ini pada beberapa sistem file dan OS dengan menggunakan relatimesebagai gantinya, yang hanya memperbarui atime setelah durasi tertentu telah berlalu sejak terakhir diperbarui.

Ignacio Vazquez-Abrams
sumber
8

Anda juga bisa membuat titik mount terpisah untuk set replika mongoDB Anda. Anda kemudian dapat mengatur parameter noatime pada mountpoint itu hanya tanpa mempengaruhi program lain.

Francois Wolmarans
sumber
4

Sebagai tindak lanjut di sini, relatimedibuat default di kernel pada 2.6.30 yang dirilis sekitar kerangka waktu Maret 2009. Itu berarti bahwa keuntungan yang Anda lihat dari pengaturan noatime akan lebih sedikit pada kernel modern.

Ini masih merupakan rekomendasi karena masih ada peningkatan kinerja yang bisa didapat untuk MongoDB, tetapi selama Anda berada pada versi kernel yang cukup saat ini, itu tidak penting seperti dulu.

Selain itu, selain perangkat lunak yang disebutkan di sini, saya juga melihat atime yang digunakan oleh alat cadangan.

Adam C
sumber
1

Saya hanya ingin menekankan titik @Steven Senin - menggunakan sistem file terpisah.

Untuk basis data, ini selalu merupakan pilihan yang baik dan memberi Anda lebih banyak fleksibilitas dalam menyesuaikan kinerja basis data dengan ketidaknyamanan kecil dari titik pemasangan tambahan untuk dikelola. Biasanya akan memberi Anda lebih banyak opsi untuk snapshotting database untuk backup juga (bahkan lebih berguna dalam kasus di mana Anda dapat snapshot & cadangan replika alih-alih master)

DisabledLeopard
sumber