Menurut makalah ini di Haystack Facebook:
" Karena cara peranti NAS mengelola metadata direktori, menempatkan ribuan file dalam direktori sangat tidak efisien karena blockmap direktori terlalu besar untuk di-cache secara efektif oleh alat. Akibatnya, biasanya lebih dari 10 operasi disk dilakukan untuk mengambil gambar tunggal Setelah mengurangi ukuran direktori hingga ratusan gambar per direktori, sistem yang dihasilkan masih akan secara umum mengeluarkan 3 operasi disk untuk mengambil gambar: satu untuk membaca metadata direktori ke dalam memori, yang kedua untuk memuat inode ke dalam memori, dan yang ketiga untuk membaca isi file. "
Saya berasumsi metadata direktori sistem file & inode akan selalu di-cache dalam RAM oleh OS dan membaca file biasanya hanya membutuhkan 1 disk IO.
Apakah ini "masalah multi-disk IO untuk membaca satu file" diuraikan dalam kertas yang unik untuk peralatan NAS, atau apakah Linux memiliki masalah yang sama juga?
Saya berencana untuk menjalankan server Linux untuk menyajikan gambar. Bagaimana saya dapat meminimalkan jumlah disk IO - idealnya memastikan OS cache semua direktori & data inode dalam RAM dan setiap file yang dibaca hanya akan memerlukan tidak lebih dari 1 disk IO?