I have a B+ with a 1TB external self powered USB drive attached. My root is on the hard drive. Used this tutorial to create the drive. https://learn.adafruit.com/external-drive-as-raspberry-pi-root/overview

Have tried this with drive directly attached to PI and also through a powered hub. Similar results.

It is super slow running the test on the pi I get

sudo hdparm -Tt /dev/sda
 Timing cached reads:   474 MB in  2.00 seconds = 236.88 MB/sec
 Timing buffered disk reads:  82 MB in  3.03 seconds =  27.04 MB/sec

dd if=/dev/zero of=/tmp/output bs=8k count=10k; rm -f /tmp/output
10240+0 records in
10240+0 records out
83886080 bytes (84 MB) copied, 2.48665 s, 33.7 MB/s

Hooked up to my PC I get

sudo hdparm -Tt /dev/sde
 Timing cached reads:   31984 MB in  1.99 seconds = 16086.46 MB/sec
 Timing buffered disk reads: 128 MB in  3.04 seconds =  42.05 MB/sec

dd if=/dev/zero of=/tmp/output bs=8k count=10k; rm -f /tmp/output
10240+0 records in
10240+0 records out
83886080 bytes (84 MB) copied, 0.0431322 s, 1.9 GB/s

The pi's USB ports are 2.0; your PC, and the drive, probably have (much faster) USB 3.0 ports (which are backward compatible with 2.0, but then limited to 2.0 standards).

While USB 2.0 has a max theoretical throughput of 480 Mbps (= 60 MB/s), it is often acknowledged that realistically, including protocol overhead, the max average data transfer rate is more like 280 Mbps (= 35 MB/s). If you have ever studied serial communication protocols, you will understand that they are far from "zero cost" and that hardware standardization does not take them into account.

So you are getting about what is to be expected. I've used external drives on pis regularly for 2 or 3 years now and I've never noticed them exceed 30 MB/s.

Also note...

All the USB ports and the ethernet jack share the same hub/bus, so that limitation applies to transfers for all of them combined.

  • Thanks it makes a lot of sense. I am attempting to run a file server at it is painfully slow. I appreciate the help. – carltonb Feb 26 '16 at 15:21
  • Yeah, if you were hoping for frequent GB level transfers it is a bit tedious (the 100 Mbps ethernet is even more of a bottleneck, and if you use a 300 Mbps wifi dongle it probably will end up closer to half that anyway because of the shared bus). – goldilocks Feb 26 '16 at 15:26

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.