Згідно з цією статтею у Сторінку Facebook:
" Через те, як пристрої NAS управляють метаданими каталогів, розміщення тисяч файлів у каталозі було надзвичайно малоефективним, оскільки блок-карта каталогу була занадто великою, щоб пристрій ефективно кешував. Отже, було прийнято більше 10 операцій на диску, щоб отримати a. Після зменшення розмірів каталогів до сотень зображень у каталозі, в результаті система, як правило, виконує 3 дискові операції для отримання зображення: один для зчитування метаданих каталогів у пам'ять, другий для завантаження вкладки в пам'ять і третій читати вміст файлу. "
Я припускав, що метадані файлів файлової системи та inode завжди будуть кешовані в оперативній пам’яті ОС, і для зчитування файлів зазвичай потрібно всього 1 диск IO.
Це проблема "IO з декількома дисками, щоб прочитати один файл", викладена в цьому папері, унікальна для пристроїв NAS, чи Linux має таку ж проблему?
Я планую запустити сервер Linux для обслуговування зображень. Будь-який спосіб я можу мінімізувати кількість дискових вводу-виводу - в ідеалі переконайтеся, що ОС кешує всі дані каталогу та inode в оперативній пам’яті, а кожен зчитуваний файл вимагатиме не більше 1 дискового вводу?