약 3M 파일 (평균 750KB 크기)을 호스팅하기 위해 ext4 (dir_index가 활성화 된 상태)를 사용하고 있으며 사용할 폴더 구성표를 결정해야한다고 가정 해 봅시다.
에서 최초의 솔루션 , 우리는 파일에 해시 함수를 적용하고 (첫 번째 레벨 1 개 캐릭터와 두 번째 수준에 2 개 문자 인) 폴더 두 가지 수준을 사용하므로되는 filex.for
해시가 동일 abcde1234 , 우리는에 / 경로를 저장할 수 있습니다 / a / bc /abcde1234-filex.for.
에서 두 번째 솔루션 , 우리는 파일에 해시 함수를 적용하고 (첫 번째 레벨 2 개 캐릭터와 두 번째 수준에 2 개 문자 인) 폴더 두 가지 수준의 사용 : 그러므로되는 filex.for
해시가 동일 abcde1234을 , 우리는 그것을에 저장할 수 있습니다 / 경로를 / ab / de /abcde1234-filex.for.
첫 번째 솔루션의 경우 폴더 당 평균 732 개의 파일 (파일이있는 마지막 폴더)로 다음과 같은 구성표 /path/[16 folders]/[256 folders]
를 갖게됩니다.
두 번째 솔루션에 동안 우리는해야합니다 /path/[256 folders]/[256 folders]
과 폴더 당 45 개 파일의 평균 .
우리 가이 구성표에서 파일을 작성 / 연결 해제 / 읽기 ( 그러나 대부분 읽기 ) 할 것을 고려할 때 (기본적으로 nginx 캐싱 시스템) 성능 측면에서 하나 또는 다른 솔루션을 선택하면 성능이 중요합니까?
또한이 설정을 확인 / 테스트하는 데 사용할 수있는 도구는 무엇입니까?
hdparm -Tt /dev/hdX
했지만 가장 적합한 도구는 아닙니다.
hdparm
그것은 블록 장치의 기본 성능의 확인이 아닌 파일 시스템의 테스트입니다, 올바른 도구가 아닙니다.