면책 조항: 여기에 Raspberry Pi 커뮤니티가 있다는 것을 알고 있지만 Raspbian(또는 Debian?), USB HDD 대 NTFS 등과 같이 Pi에만 국한된 커뮤니티는 아니라고 생각합니다.
긴 이야기 짧게: 저는 외부 USB 하드 드라이브가 있는 Raspberry Pi 4를 가지고 있습니다. 읽기/쓰기 속도가 꽤 느리고, 가장 놀랐던 점은 읽기가 쓰기보다 실제로 느리다는 것입니다! 그래서 무슨 일이 일어났고, 범인은 어디에 있나요?
세부:
- 운영 체제
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7l GNU/Linux
- 파일 시스템 테이블:
UUID=1276F80376F7E57F /mnt/usb_hdd ntfs-3g defaults,big_writes,noatime 0 0
- HD 매개변수 테스트
pi@raspberrypi:~ $ sudo hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 1496 MB in 2.00 seconds = 747.81 MB/sec
Timing buffered disk reads: 258 MB in 3.01 seconds = 85.60 MB/sec
- 동기식 읽기
pi@raspberrypi:~ $ rsync --progress -hv /mnt/usb_hdd/Share/Downloads/Games/Civ5.iso ~/Civ5.iso
Civ5.iso
2.37G 100% 18.90MB/s 0:01:59 (xfr#1, to-chk=0/1)
sent 2.37G bytes received 35 bytes 19.19M bytes/sec
total size is 2.37G speedup is 1.00
이상한 점은 약 70MB/s에서 시작했지만 거의 즉시 약 20으로 떨어졌다가 8에서 25 사이에서 벗어난다는 것입니다. 매우 불안정합니다.
- 동기식 쓰기
pi@raspberrypi:~ $ rsync --progress -hv ~/Civ5.iso /mnt/usb_hdd/Share/Downloads/Civ5.iso
Civ5.iso
2.37G 100% 39.15MB/s 0:00:57 (xfr#1, to-chk=0/1)
sent 2.37G bytes received 35 bytes 40.52M bytes/sec
total size is 2.37G speedup is 1.00
속도도 약 65MB/s에서 시작하지만 점차 약 35MB/s로 느려집니다. 적어도 내가 읽은 것만 큼 무작위는 아닙니다.
질문
- 둘 중 누구도 읽지 않았어그리고일반적으로 천천히 쓰나요? Pi와 NTFS를 고려해도 40MB/s는 조금 느리지 않나요? 그렇다면 - 무엇이 문제인가?
- 왜 읽는 것이 쓰는 것보다 느린가요? 시간이 지남에 따라 읽기 속도가 일관되지 않는 이유는 무엇입니까?
전송 중 CPU는 ~30%이고 메모리는 충분합니다. "그냥 NTFS"인가요?
어쨌든 여기에 도움을 주시면 감사하겠습니다.
답변1
첫 번째 질문에 답하자면 40MB/s는 USB 2.0 병목 현상처럼 들립니다. Pi 4는 USB 3을 지원하지만 HDD와 케이블이 USB 3인지 확인하세요.
댓글의 업데이트된 정보:
또한 rsync
외장 하드 드라이브와 집 위치라는 두 가지 당사자가 관련되어 있다는 점에 유의하세요. 방정식에서 두 번째 부분을 제거하려면 dd
HDD 전용 벤치마크를 사용해 보십시오.
- 파일 시스템에 쓰기 포함:
sudo dd if=/dev/zero of=/mnt/usb_hdd/blob bs=16M count=100 status=progress oflag=direct
- 파일 시스템에서 읽기:
sudo dd if=/mnt/usb_hdd/blob of=/dev/null bs=16M count=100 status=progress
- 디스크에서 직접 읽기:
sudo dd if=/dev/sda of=/dev/null bs=16M count=100 status=progress iflag=direct