Disclaimer: I know there's Raspberry Pi community here, but I don't think it's Pi-specific, more like Raspbian (or Debian?) vs USB HDD vs NTFS, etc.
TL;DR: So, I've got a Raspberry Pi 4 with an external USB HDD. Read/write speeds there are quite low, and the most surprising thing for me is that read is actually slower than write! So how could it be and where's the culprit?
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
- hdparm test
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
- rsync read
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
The strange thing is, it starts with ~70MB/s, but almost iimediately drops to ~20 and then deviates between 8 and 25. Very unstable.
- rsync write
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
This one also starts with ~65MB/s, but gradually slows to ~35. At least not that random as read.
- Aren't both read and write slow in general? Even considering Pi and NTFS - 40MB/s is kind of slow, isn't it? If so - where it the problem?
- Why is read slower than write?? And why is read speed so unstable over time?
CPU is at ~30% during transfer and there's plenty of memory... Is it "just NTFS"?
Anyway I'll appreciate any help here.