On a daily basis I use a Raspberry Pi v2 (4x900MHz) with Raspian as a work station and web server. It is connected to a big display, I edit multiple files and it runs multiple Node.js instances. These Node.js processes serve HTTP and access (both read and write) local files.
I experienced regular freezes. Things that could take 2-3 seconds were listing files in a directory, opening a file, saving a file and so on.
I moved my working directory from my (high performance) SD-card to a regular spinning USB hard drive. That completely solved the problem. I experience zero freezes now, compared to plenty before.
My usual experience with Linux is that the block caching layer is highly effective: things get synced to disk when there is time to do so. I dont know if Linux handles SD-cards fundamentally different from other hard drives (syncing more often) or if the SD card (or the Raspberry Pi SD card hardware) is just slower.
So, for making real use of a Raspberry Pi I would clearly recommend a harddrive.
I hear you on this. I think perhaps the real problem is that the high speed SD card has been optimized for storing video from a camera. (That’s why people typically need high speed SD cards.) The optimization is performed by builtin microcontrollers on the cards, but the details are highly proprietary and it’s hard for the manufacturers to test all possible use cases.
In general I’ve had very good luck with very old-style stodgy old Speed Class 4 SD cards. The more amazing the card is, the worse it works, taking Speed Class 4 as a baseline. It’s hard to prove this, with the tools I have available, but it would not be the first time that optimizing for one purpose made something work worse for a different purpose.
Thanks for the great work you’ve done, and for sharing it, zo0ok!