나는 8GB RAM, 4TB 보조 하드 디스크와 500GB 기본 하드 디스크를 갖춘 i5 6세대 프로세서를 가지고 있습니다. 4TB 하드디스크는 ntfs로 포맷되어 있습니다. 내 목표는 디스크에 엄청난 양의 파일을 쓰는 것입니다. 디스크는 SATA 7200RPM이며 동일한 작성된 파일에 대한 압축 알고리즘을 테스트해야 합니다. 디스크에 기록될 파일은 zlib로 압축된 크기가 더 작은 경우 범위는 약 12-20KB입니다. 나는 테스트 목적으로 동일한 복사본을 500000개 만들기 위해 bash 스크립트를 작성했지만 언급된 속도는 훨씬 더 높지만 초당 7-8개의 파일이 100kB/s의 해당 디렉토리에 기록되고 있음을 발견했습니다. 초당 100개의 파일을 달성하고 싶습니다. 어떻게 해야할지 모르겠습니다. 가장 높은 쓰기 속도를 달성하는 방법을 제안해 주세요.
답변1
병목 현상은 디스크가 아닌 파일 시스템입니다. 파일 작업(생성/삭제 등)에서 파일 시스템(및 구현)의 확장 정도는 구현 및 설계에 따라 크게 다릅니다. 많은 파일 시스템 작업(열기/생성)이 필요한 여러 파일에 동일한 양의 데이터를 쓰는 대신 단일 파일에 순차적으로 쓸 때 이미 훨씬 더 나은 처리량을 아카이브할 수 있습니다.
많은 파일 작업을 수행해야 하는 경우 NTFS보다 Linux에서 더 잘 확장되는 파일 시스템을 선택해야 합니다. XFS 또는 EXT4는 성능이 좋은 확실한 선택입니다.
많이있다벤치마크동일한 것을 지적하는 성능의 차이를 비교합니다.
답변2
작은 파일을 작성하는 경우 대부분 파일 시스템이 파일을 열고 닫을 수 있는 속도(및 일부 헤드 이동 대기 시간)를 테스트합니다. 그리고 Linux에서 NTFS를 사용하면 최고 성능의 파일 시스템을 사용하는 것이 아닙니다. 알고리즘 속도를 테스트하려면 기본 파일 시스템(ext4...)과 큰 파일을 사용하십시오. 그런 다음 NTFS에서 결과가 느려지면 해당 결과가 어디서 왔는지 알 수 있습니다.