저는 현재 S3 명령줄 도구의 성능을 테스트하고 있으며 Fallocate로 만든 파일을 사용하여 테스트하고 있습니다. 저는 200개의 파일(각각 1MB 크기)을 S3 스토리지에 업로드하는 데 다양한 도구가 걸리는 시간을 측정하고 있습니다. Fallocate를 사용하여 만든 파일과 내가 직접 만든 다른 파일(예: 1MB 크기의 .txt 문서) 사이에 차이점이 있습니까? 아니면 fallocate를 사용하여 생성된 test.txt 파일이 메모장을 사용하여 생성된 test.txt 파일과 정확히 동일합니까?
Fallocate는 다양한 유형의 파일을 생성하므로 제가 수행하는 테스트가 단지 빠르기만 한 것이 아니라 현실적이라는 것을 확인하고 싶습니다.
답변1
사용하는 도구와 사용하는 파일 시스템에 따라 차이가 있을 수 있습니다.
애플리케이션 관점에서 보면 fallocate
생성된 파일은 일반적으로 0입니다. 측정 시간은 왜곡되며, 압축이나 중복 제거 기능이 내장된 프로토콜이나 파일 시스템을 사용하는 경우 전송되는 데이터 양 때문에 측정 시간이 훨씬 더 영향을 받습니다. /write는 동등한 파일에 대한 동일한 작업이 다른 방법으로 생성하는 것과 동일한 크기를 반영하지 않습니다.
또한스티븐 차제라스범위가 "기록되지 않음"으로 표시되어 있기 때문에 파일에 0이 포함되어 있는 것으로 올바르게 지적되었습니다. 이를 읽을 때 시스템은 디스크를 읽지도 않고 0을 반환합니다.
.txt 파일을 사용하는 것이 더 좋으며, 임의의 이진 데이터에서 생성된 파일을 사용하는 것이 더 좋습니다.