나는 Linux에서의 NTFS(-3g) 성능이 Windows에서의 NTFS 성능보다 느리다는 사실을 받아들였습니다. Windows에서는 약 100MB/s의 속도로 외부 NTFS 형식의 USB 3.0 HDD에 쓸 수 있지만 Debian(Wheezy) 컴퓨터에서는 30MB/s(제공 또는 수신)에 도달해야 합니다.
그러나 이것은 문제가 되지 않습니다. (경험상) 내 상자에서 HDD로 20개의 파일을 복사하려는 경우 복사가 "정상" 30MB/s에서 시작되지만 점차적으로 4MB/s로 느려지는 것을 발견했습니다! 하지만 5개의 파일을 동시에(연속) 복사하면 복사 속도는 30MB/s로 유지됩니다.네 가지 모두복사 과정. 그건 그렇고, 이것은 데비안에만 국한된 것이 아닙니다. Fedora와 Ubuntu에서 비슷한 동작을 관찰했습니다.
제 질문은 이 동작이 정상인가요?입니다. 걱정해야 할까요? 문제가 발생하면 어떻게 디버깅/수정해야 합니까?
답변1
병렬 복사를 실행할 때 드라이브 헤드 탐색 대기 시간의 영향을 확인할 수 있습니다.
대부분의 파일 시스템(NTFS 및 ext[234] 포함)의 경우 데이터는 드라이브의 다른 위치에 저장됩니다. 여기에는 파일 시스템 정보가 있고, 블록 할당 데이터가 있고, 파일 데이터 모드가 있습니다.
단일 파일에 쓸 때 메타데이터는 상대적으로 거의 변경되지 않으므로 헤드는 대부분 데이터 블록을 쓸 수 있는 올바른 위치에 있습니다. 20개의 동시 쓰기를 실행하는 경우 헤드는 블록 할당 영역과 데이터 영역 사이를 약 20배 더 자주 이동해야 하며 측정된 디스크 헤드 탐색 시간은 수십 밀리초입니다.
네이티브 파일 시스템에 쓸 때 수행된 조회 양에 따라 약간의 자유를 얻을 수 있습니다(예: 사용 가능한 목록의 일부 복사본을 메모리에 유지하고 해당 복사본을 자주 쓰지 않아서 많은 조회를 절약할 수 있습니다). Windows의 NTFS에도 동일하게 적용될 것으로 예상하지만 NTFS Linux 파일 시스템 개발자는 너무 부주의하여 성능보다 일관성을 선택할 수 없습니다.