데비안에서 웹 서버와 데이터베이스를 실행하는 데 가장 적합한 파일 시스템은 무엇입니까?
예: Debian ext2 또는 ext3에서는 큰 하위 폴더가 있는 큰 폴더를 관리하는 데 시간이 너무 오래 걸립니다. 관리 작업에 많은 시간이 걸리며, 각각 30분을 기다리지 않고는 큰 하위 폴더를 삭제할 수 없습니다.
답변1
extX 파일 시스템에 dir_index가 활성화되어 있습니까? (tune2fs -l /dev/XXX를 실행하여 확인하세요.) 그렇지 않은 경우 첫 번째 단계로 활성화해 보세요.
XFS는 대규모 디렉토리를 잘 처리합니다.
답변2
처럼제임스ext{2,3}는 적절한 플래그를 사용하여 거대한 디렉토리를 매우 잘 처리합니다. 그런데.... 가끔은 그런 느낌이 안 들 때도 있어요.
구체적으로:
- 최신 파일 시스템은 이름에서 inode로 매우 빠르고 확장 가능한 매핑을 수행할 수 있습니다. 즉, 디렉터리의 크기에 관계없이 주어진 파일을 (거의) 즉시 열 수 있습니다. 또한 모든 쿼리(존재, 권한, 크기, 소유자, 등) 특정 경로에 대한 정보는 디렉터리 크기에 크게 영향을 받지 않습니다.
하지만...
- 디렉터리 전체에서 작동하는 모든 작업은 디렉터리에 있는 모든 파일을 선형적으로 반복해야 하므로 속도가 매우 느릴 수 있습니다. 예를 들어,
ls
기본적으로 파일 이름은 알파벳순으로 정렬됩니다. 따라서 먼저 파일을 모두 읽은 다음 정렬하고 표시해야 하며 수천 개의 파일 디렉터리에서 쉽게 몇 분 정도 걸립니다. 또 다른 일반적인 문제는 일치하는 하위 집합을 반환하기 위해 기존 파일 이름을 모두 읽어야 하는 와일드카드 일치입니다.
결론: 정확하게 지정된 경로만 사용한다면 좋은 파일 시스템이면 됩니다. 와일드카드를 사용하거나 전체 디렉터리에서 자주 작업(목록 나열, 복사 또는 삭제)하는 경우 거대한 디렉터리에서는 모든 파일 시스템이 너무 느려집니다.
답변3
먼저 파일 시스템에 관한 Wikipedia 기사를 확인하세요.http://en.wikipedia.org/wiki/Comparison_of_file_systems.
둘째, 특정 수준에서 너무 많은 파일을 갖지 않도록 계층 구조를 재구성할 수 있는지 고려하십시오.
셋째, 어떤 종류의 하드웨어를 실행하고 있습니까?
넷째, 의견 위주의 질문이겠지만 개인적으로는 ext3이나 jfs를 좋아합니다.
답변4
이러한 종류는 "대형 폴더"의 세부 사항, 특히 작은 파일이 많은지 아니면 물리적으로 큰 파일인지 여부와 디렉터리 트리의 깊이에 따라 달라집니다.
XFS대용량 파일을 효율적으로 작업하는 데 탁월한 매우 견고한 파일 시스템입니다. 거의 모든 파일 시스템이 어느 정도 이와 동일한 문제를 겪고 있지만 RAM의 공격적인 데이터 캐싱과 갑작스러운 정전(파일 시스템 손상이 아니라 데이터 손실)으로 인한 데이터 손실 가능성으로 인해 프로덕션 환경에서 종종 문제가 발생합니다. 또 다른 문제는 디렉터리를 추가하거나 삭제할 때 메타데이터 작업이 다소 느려지는 것입니다. 깊은 디렉토리 트리가 있는 경우 이는 거래를 중단시킬 수 있지만 XFS를 무시하기 전에 XFS를 테스트해 보는 것이 좋습니다.
JFS낮은 CPU 사용량과 다양한 부하에서 균형잡힌 성능으로 유명한 견고한 파일 시스템입니다. ext3의 안정성에 대한 강한 열망이 있지만 ext 시리즈 파일 시스템의 성능 문제(일명 비효율적인 할당 및 느린 디스크 액세스)를 처리할 수 없을 때 이 파일 시스템을 선택합니다. XFS와 비교할 때 대용량 파일의 경우 성능이 그다지 높지 않을 수 있습니다.
대상 워크로드에 대한 추가 세부 정보가 없으면 실제로 확실한 제안을 드릴 수는 없지만 광범위한 조정 및 벤치마킹을 위한 시간이 없다면 JFS가 매우 좋은 선택이 될 것이라고 생각합니다.