Zgodnie z tym artykułem na Facebooku Haystack:
„ Ze względu na sposób, w jaki urządzenia NAS zarządzają metadanymi katalogu, umieszczenie tysięcy plików w katalogu było wyjątkowo nieefektywne, ponieważ mapa blokowa katalogu była zbyt duża, aby urządzenie mogło ją skutecznie buforować. W związku z tym często konieczne było wykonanie ponad 10 operacji dyskowych w celu pobrania pojedynczy obraz Po zmniejszeniu rozmiarów katalogów do setek obrazów na katalog wynikowy system nadal generalnie wymagałby 3 operacji dyskowych w celu pobrania obrazu: jeden w celu odczytania metadanych katalogu do pamięci, drugi w celu załadowania i-węzła do pamięci oraz trzeci czytać zawartość pliku. ”
Zakładałem, że metadane i i-węzeł katalogu systemu plików zawsze będą buforowane w pamięci RAM przez system operacyjny, a odczyt pliku zwykle wymaga tylko 1 dysku IO.
Czy ten problem „wielu dysków IO do odczytu jednego pliku” opisany w tym dokumencie jest unikalny dla urządzeń NAS, czy też Linux ma ten sam problem?
Planuję uruchomić serwer Linux do wyświetlania obrazów. W jaki sposób mogę zminimalizować liczbę operacji We / Wy dysku - idealnie upewniając się, że system operacyjny buforuje wszystkie dane katalogu i i-węzłów w pamięci RAM, a każdy odczyt pliku wymagałby nie więcej niż 1 operacji We / Wy dysku?