ext4, 8GB 파티션 및 512MB 파티션에 쓰기

ext4, 8GB 파티션 및 512MB 파티션에 쓰기

프로그래밍과 약간 관련이 있지만 대부분 ext4 작동 방식과 관련된 질문이 있습니다.

파일에 128MB를 쓰고 오프셋을 임의 정렬로 변경하는 프로그램이 있습니다. 내가 작성하는 모든 쓰기 호출은 256KB를 씁니다. 이제 두 장치의 속도 결과가 눈에 띄게 다릅니다.

/dev/sda두 개의 ext4가 있고 /dev/sdbsda는 8GB이고 sdb는 512MB입니다.

예를 들어 의 쓰기 작업은 /dev/sda완료하는 데 0.7초가 걸리는 반면, 의 동일한 쓰기 작업은 완료하는 데 0.05초가 걸립니다 /dev/sdb. 두 파티션 모두 SSD가 아닌 동일한 하드 드라이브에 있습니다.

편집하다:죄송합니다. 추가하는 것을 잊어버렸습니다. 이는 VirtualBox 가상 머신에서 실행되고 있으며 호스트는 Windows 시스템입니다. 내 노트북에는 물리적 드라이브가 하나만 있기 때문에 확실히 물리적 드라이브가 하나뿐입니다.

편집 2:문제를 발견했습니다. "/dev/sda"라고 생각한 프로그램을 실행하고 있었는데, 그것은 호스트 시스템에서 마운트한 공유 폴더였습니다. 파일 시스템이 다를 줄은 몰랐습니다.

성능에 큰 변화를 가져올 수 있는 뒤에서 무슨 일이 일어나고 있는지 알고 싶습니다. 감사합니다!

답변1

여기서 리뷰하기에는 너무 길기 때문에…

내 관심을 불러일으킨 두 가지 사항은 다음과 같습니다.

첫째, /dev/sda와 /dev/sdb는 서로 다른 두 개의 물리적 드라이브입니다. 그렇지 않으면 /dev/sda1과 /dev/sda2에 대해 논의하게 됩니다. 따라서 서로 다른 물리적 드라이브에 대해 이야기하면 성능이 달라질 수 있습니다.

둘째, 이 정보가 잘못되었고 동일한 드라이브에 두 개의 파티션(/dev/sda1 및 /dev/sda2)이 있는 경우 물리적 드라이브 크기는 얼마입니까? 2TB보다 큰 파티션이 있는 드라이브는 올바르게 정렬되어야 합니다. 그렇지 않으면 성능 문제가 발생합니다. 파티션 중 하나는 정렬되어 있고 다른 하나는 정렬되어 있지 않습니까? 프로그램 외에 다른 수단을 통해 파티션 속도를 테스트해 보셨나요? 확인하다이것주행 속도를 테스트해 보세요.

관련 정보