작은 파일을 인덱싱할 때 NAS 처리량이 떨어지는 이유는 스토리지가 효율적인 순차 전송 속도에 도달하기 전에 고정 메타데이터 처리와 파일 열기 및 닫기 비용이 지배적이 되기 때문입니다.
인덱서가 몇 개의 대용량 아카이브에 담긴 1테라바이트를 스캔할 때는 데이터를 스트리밍할 수 있지만, 같은 바이트가 수백만 개의 문서에 분산되어 있으면 수백만 번의 조회가 필요합니다. 각 경로마다 디렉터리 탐색, 권한 확인, 속성 확인, 파일 열기, 소량 읽기, 파일 닫기, 해싱, 인덱스 쓰기가 발생할 수 있습니다. 이 작업은 순수하게 대역폭이 제한하는 작업이 아니라 초당 처리 작업 수와 지연 시간에 제한되는 작업이 됩니다.
각 파일은 크기에 비례하지 않는 추가 작업을 만듭니다
콘텐츠를 읽기 전에 클라이언트와 NAS는 경로를 확인하고, 메타데이터를 검사하고, 권한을 적용한 뒤 핸들을 엽니다. 이러한 고정 작업은 2킬로바이트짜리 메모 파일에서도 대용량 동영상 파일과 거의 같은 비용이 들기 때문에 평균 파일 크기가 작아질수록 요청당 유용한 바이트 수가 급격히 줄어듭니다.
메타데이터 중심 작업을 대상으로 한 TableFS 연구는 메타데이터와 작은 파일이 중심인 작업을 위해 설계되었으며, 기반 스토리지가 훨씬 빠르게 데이터를 전송할 수 있을 때에도 기존 로컬 파일 시스템이 네임스페이스 작업에서 병목될 수 있음을 보여줍니다.
네트워크 파일 시스템에서는 프로토콜 교환과 서버 측 잠금 또는 캐시 검증이 추가됩니다. 병렬 처리를 통해 일부 지연 시간을 숨길 수 있지만, 작업자가 너무 많으면 대기열이 길어지고 유용한 메타데이터가 캐시에서 밀려나며 대량 열거 작업 뒤에서 대화형 NAS 요청이 대기하게 됩니다.
대형 디렉터리와 임의 접근은 순차 처리 효율을 떨어뜨립니다
수백만 개의 항목은 디렉터리 인덱스와 아이노드 작업 집합을 캐시 용량 이상으로 확장합니다. 스캔 작업은 메타데이터 블록과 작은 익스텐트 사이를 오가므로 읽기 선행의 효과가 줄어들고, 긴 순차 전송 대신 HDD 탐색이나 분산된 SSD 요청이 발생합니다.
확장 가능한 파일 디렉터리에 관한 연구는 수백만 개에서 수십억 개의 작은 파일을 포함하는 디렉터리를 분석하고, 파티션 전체에 메타데이터 증가를 분산합니다. 이 설계는 네임스페이스 확장성이 순수한 장치 대역폭과 별개의 문제라는 점을 보여줍니다. 이러한 차이는 이후 가정 환경 테스트에서도 확인됩니다.
AI 파이프라인은 해시, OCR 텍스트, 썸네일 또는 벡터 데이터베이스 레코드를 기록할 때 또 다른 임의 접근 스트림을 추가합니다. 읽기 및 쓰기 대기열이 서로 경쟁하고, 동기식 데이터베이스 커밋은 디스크에 사용되지 않은 최대 순차 처리량이 남아 있더라도 수집 작업을 일시 중지시킬 수 있습니다.
캐시 변동은 다른 NAS 사용자에게도 성능 저하를 확산시킵니다
디렉터리 항목, 속성, 파일 데이터, 모델 페이지, 인덱스 버퍼가 모두 RAM을 두고 경쟁합니다. 광범위한 스캔은 캐시에서 자주 사용하는 가정용 파일을 밀어낼 수 있으며, 바이러스 백신, 썸네일 생성 또는 체크섬 계산이 동일한 새 접근 이벤트로 발생한 읽기를 중복할 수 있습니다.
작은 파일 오버헤드에 관한 분석은 64KB 미만의 객체가 대량으로 존재할 때 대량 처리량 지표에 가려지는 메타데이터 및 요청 오버헤드가 발생하는 방식을 설명합니다. 작업을 그룹화하면 유용한 페이로드와 객체별 처리 사이의 비율이 달라집니다. 자동화를 진행하기 전에 중간 결과를 검사할 수 있는 상태로 유지해야 합니다.
파일 수만으로 성능이 결정된다고 가정하는 것이 성능 저하의 경계입니다. 따뜻한 SSD 메타데이터 캐시, 패킹된 아카이브, 로컬 인덱스 데이터베이스, 배치 처리되는 프로토콜은 지연 시간이 큰 SMB를 사용하는 콜드 HDD보다 더 많은 파일을 처리할 수 있습니다. 실제 레이아웃에서 작업 수와 대기열을 측정하세요.
초당 메가바이트와 별도로 초당 파일 수를 벤치마크하세요
총 바이트 수는 동일하게 유지하되 파일 중앙값이 4KB, 64KB, 1MB, 64MB인 데이터 세트를 만들고, 디렉터리 깊이도 얕은 경우와 깊게 중첩된 경우로 나누세요. 초당 파일 수, 메타데이터 작업 수, 네트워크 왕복 횟수, IOPS, 대기열 지연 시간, 캐시 누락, 인덱스 쓰기, 대화형 NAS 지연 시간을 기록하세요.
병목 분리를 병목 분석 프레임워크로 사용하면서 인덱서 작업자를 1명, 4명, 16명으로 설정해 반복한 다음, 콘텐츠 배치 처리와 인덱스 데이터베이스를 다른 장치에 배치한 상태에서도 반복하세요. 파일 집합과 캐시 상태를 명확히 기록하세요.
초당 파일 수의 증가가 멈추거나 대화형 p95 지연 시간이 한도를 넘는 지점에서 동시 처리 수준을 선택하세요. 메타데이터가 지배적이라면 반복적인 stat 작업을 줄이고 작업을 배치 처리하세요. 콘텐츠 읽기가 지배적이라면 순차 대역폭을 부족한 용량으로 간주하지 말고 스토리지 레이아웃을 최적화하세요.
기술 및 AI 허브
더 읽어보기

시계열 다운샘플링은 스마트 홈 이상 탐지에 어떤 영향을 미칠까요?
버킷 너비, 집계, 안티앨리어싱, 누락된 데이터, 이벤트 지속 시간, 멀티스케일 보존 설정에 따라 스마트 홈 이상 징후 재현율이 어떻게 달라지는지 확인해 보세요.

점유 그리드는 약한 스마트 홈 신호를 어떻게 결합하나요?
공간 셀, 센서 모델, 로그 오즈 업데이트, 감쇠, 상관된 증거, 임계값이 어떻게 약한 가정 내 신호를 재실 점유 추정치로 변환하는지 알아보세요.

측광 정규화는 비공개 얼굴 클러스터링에 어떤 영향을 미칠까요?
조명 보정이 얼굴 크롭, 임베딩, 클러스터 거리, 임계값, 과도한 정규화 및 비공개 사진 검색 평가를 어떻게 변화시키는지 확인해 보세요.

