Geeky braindump ahead. Thoughts on building a high performance server for use with the site I’m launching on a budget.
I have this weird obsession with solid state drives because they are the final bottleneck in performance that can prevent someone from cheaply creating a scalable server to host an idea accessible by millions of people. Modern CPUs and dual channel DDR RAM are sufficient to host most websites, the problem is the expense of large high performance RAID arrays required for database driven websites. My hope is that some day a kid can write the next big app in his house and host it on his home PC with the only additional expense being a good internet connection. Heck you may even be able to host a WordPress blog and get some decent traffic without it crashing.
Prices are dropping fast but RAM based drives like the 16GB (sufficient for most web apps) Hyperdrive4 pictured above are not yet able to take advantage of SATA2. So they’re stuck at 140MB/s unless you build a RAID array which is prohibitively expensive. The next generation Hyperdrive will support 3.0Gb/s (roughly 280Mbytes/s factoring in overhead). That’s when things get really interesting because a single Hyperdrive would blow most super expensive RAID arrays out of the water at 3.0Gb/s even when not using RAID.
So, in theory, if you used Amazon’s S3 image hosting, you could run a server with the following specs and avoid most bottlenecks assuming your web app is well designed. You can build this system on NewEgg.com right now for under $700 without a hard drive..
Intel Core 2 Duo at 2.4Ghz
4GB DDR2 RAM
Intel 945 based Mobo / Barebones Kit
Right now a 16GB Hyperdrive will set you back $2400 + $2,000 for the RAM = $4,400. So a total of $5,100 for the whole “server”. That will get you a pretty decent Dell server but it would be bottlenecked by IO, even with a good RAID array. Granted it won’t be as reliable as a Dell Poweredge but then your server would have no moving parts so throw in a cheap UPS and some ventilation and the thing should be pretty stable.
My plan is to build the sub $700 server and add a decent PCI-Express RAID card and run a pair of WD Raptors in RAID 0. Highly unreliable, like my wacky custom turbo WRX, but it should also be sufficiently fast to handle small spikes in traffic. The cost of the Raptor RAID setup is roughly $700 or about $3700 less that the Hyperdrive setup. So I’m planning on building a $1400 server. If my site takes off and I can afford to upgrade the server my first move will be to plug in a Hyperdrive4 and use the Raptors as RAID 1 backups.
The benefit of RAM drives over your run of the mill flash based drive is write performance. Flash drives, while solid state, have notoriously terrible write performance. RAM drives have no such problems. Also, due to the lack of moving parts, SSDs have ridiculously low latencies, which is crucial when you’re doing random reads and writes. In fact, now that I think about it, the fact that the Hyperdrive isn’t SATAII may not be much of a problem because latencies are already extremely low.
And in case anybody is wondering, this blog currently lives on a Dell PowerEdge with a Quad core processor, 4GB of RAM and a RAID 10 Array which I benchmarked at over 100MB/s sustained. Which is why it feels sorta snappy.