페이스 북의 건초 더미에 관한 이 논문 에 따르면 :
" NAS 어플라이언스가 디렉토리 메타 데이터를 관리하는 방법 때문에 디렉토리의 블록 맵이 너무 커서 어플라이언스가 효과적으로 캐시 할 수 없기 때문에 디렉토리에 수천 개의 파일을 배치하는 것은 매우 비효율적입니다. 결과적으로 10 번 이상의 디스크 작업이 발생하여 단일 이미지 디렉토리 당 디렉토리 크기를 수백 개의 이미지로 줄인 후에도 결과 시스템은 일반적으로 3 개의 디스크 작업을 수행하여 이미지를 가져옵니다. 하나는 디렉토리 메타 데이터를 메모리로 읽고 다른 하나는 inode를 메모리에로드하고 다른 하나는 메모리에로드합니다. 파일 내용을 읽습니다. "
파일 시스템 디렉토리 메타 데이터 및 inode는 항상 OS에 의해 RAM에 캐시되며 파일 읽기에는 일반적으로 1 개의 디스크 IO 만 필요하다고 가정했습니다.
이 백서에 요약 된이 "다중 디스크 IO가 단일 파일을 읽습니다"문제가 NAS 어플라이언스 고유의 문제입니까, 아니면 Linux에도 동일한 문제가 있습니까?
이미지를 제공하기 위해 Linux 서버를 실행할 계획입니다. 디스크 IO 수를 최소화 할 수있는 방법은 무엇입니까? 이상적으로 OS가 모든 디렉토리 및 inode 데이터를 RAM에 캐시하고 각 파일을 읽을 때 1 개의 디스크 IO 만 필요합니까?