하나의 디렉토리에 별도의 파일로 1 천만 개의 결과를 저장하는 데 문제가 있습니까?
예. 아마도 더 많은 이유가 있지만 이것들은 내 머리 꼭대기에 게시 할 수 있습니다.
tune2fs
는 dir_index
성능 저하를보기 전에 대략 100k 개의 파일을 디렉토리에 저장할 수 있는 옵션 (기본 설정) (Ubuntu에서는 켜져 있음)이 있습니다. 그것은 당신이 생각하고있는 10m 파일에 가깝지 않습니다.
ext
파일 시스템에는 고정 된 최대 수의 inode가 있습니다. 모든 파일과 디렉토리는 1 개의 inode를 사용합니다. 사용하다df -i
파티션과 아이 노드 자유의 뷰. inode가 부족하면 새 파일이나 폴더를 만들 수 없습니다.
같은 명령 rm
및 ls
와일드 카드를 사용하여 명령을 확장하여 "너무 긴 인수 목록의"로 끝날 때. find
파일을 삭제하거나 나열하는 데 사용해야 합니다. 그리고 find
느린 경향이 있습니다.
아니면 폴더로 나누는 것이 좋습니다?
예. 가장 확실합니다. 기본적으로 1 디렉토리에 10m 파일을 저장할 수도 없습니다.
데이터베이스를 사용합니다. 웹 사이트 용으로 캐시하려면 " solr "( "분산 인덱싱, 복제 및로드 밸런스 쿼리 제공")을 살펴보십시오 .