0

I'm strugling a bit how I should set up my storage for the OS/root FS. As I heard an additional USB flash drive togheter with the SD card is the fastest choice. But there are other people stating that a good performing SD card is enough to get a fast system.

But to get a great performing SD card seems to me a bit of a lottery. I read that I should get one which has a high r/w speed for small files. Which is more important to the OS.

My question is now does a SD card only solution (with the best performing SD card for the RPi) can beat a USB/SD card hybrid solution in speed (boot partition on SD card, root FS on USB drive)?

1 Answer 1

1

Various people have some read/write benchmarks of various SD cards on the pi here. Notice that the read speed maxes out no matter what at around 20 MB/s, and the write speed will not be higher. That's a limitation of the pi's SD card reader. It is worth noting because it means there's no point in very high performance cards; you can get the 20 MB/s read even with cheap class 4 cards. Getting a high write is harder, but it is the read that is by far most important to the general performance of the system.

My question is now does a SD card only solution (with the best performing SD card for the RPi) can beat a USB/SD card hybrid solution in speed (boot partition on SD card, root FS on USB drive)?

The hybrid system should be faster in optimal circumstances, since you can get ~30+ MB/s from the USB bus. The only issue with that is your internet connection is bound to be on the same bus, since the ethernet jack is in fact part of it. That maxes out at ~12 MB/s but realistically usually won't be more than 4 MB/s. So the advantage may not be so great, but under optimal circumstances, it could be up to 50% faster.

Of course, the ultimate significance of that depends on what you are doing. It won't make, e.g., browsing the web faster. It should make loading big applications faster, and stuff like browsing images. If you are running some kind of data server (e.g. an NAS), it would be worthwhile -- but in that case, you don't need the root filesystem on USB, just the bulk of whatever it is the server serves up.

2
  • Thx for your great answer. Okay so as I understood the Ethernet and USB ports share the same bus. So if I surf with 12 MB/s I get only 18 MB/s from my USB flash drive. So in this edge case the SD card would be faster then (with 20 MB/s). Just theoretically of course. Jun 9, 2015 at 12:46
  • Yeah. The "theoretical" part there is surfing the web at 12 MB/s with a 100BASE-T connection. You won't be, but 1/4 - 1/2 that is possible, which would substantially reduce the advantage. Of course, if you were actually up or downloading that fast chances are it would be data to/from storage, so that data has to do through the bus twice, and you are left w/ <= 20 MB/s. If you had the root fs on the SD card but big data on USB, the system could be running off the SD card at 20 MB/s regardless while you download to USB at whatever speed. IMO that's a better arrangement.
    – goldilocks
    Jun 9, 2015 at 12:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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