I got to go to the Geek Sessions event on scaling Rails tonight.
There were many good people there, and it was nice to put a face to some of the names.
I only have some meta thoughts:
The format seemed really off. The panel had people from Twitter, Joyent. That makes you think “lots of real world stuff to learn here boys”. Each panel member had five minutes to chat about scaling Rails, and what we got from that was:
- Measure your app (genius!)
- RDBMS isn’t the only way
- Scaling Rails is just like scaling everything else
Fair enough. Nothing earth shattering, but onto the Q & A…. which seemed like it last for 5 minutes and then we were done.
We got to hear some good information about finding bugs via dtrace and such, but when it was done I asked myself: “What do I now know about scaling a Rails app that I didn’t before” and the answer was naught.
I can’t blame the panelists here. The time was short, and all talks about scalability and performance tend to be full with “It depends on your app….”. I would have loved to hear about how Twitter has changed its architecture over the growth (eBay has rewritten theirs 4 times?).
There was a lot of love thrown at JRuby. For a minute there I thought that 1.0 had been released! ;) In all seriousness, it is really interesting to see how much people are looking to JRuby. Very cool indeed.
To reiterate the advice to make your Rails app scale:
- Patch GC a la Railsbench
- Rewrite any bottleneck in C
- Have Rails gen pages and use Apache to serve them
- Don’t use a RDBMS
- Sit around watching dtrace
- Find a P4 1.8Ghz with FreeBSD 3.2
- Make sure your CRC doesn’t take 20 milliseconds to do a check sum
Or, wait for JRuby 1.0. Or, go even further and check out the upcoming “Ass on Rails” that uses Assembler for that extra bump in performance.