Scaling Rails
Last Wednesday we hosted a Newzwag classroom for a group of 25 Ruby developers who came to eat delicious pizza, drink beer, and learn how we scaled Rails. I personally had a lot of fun putting together the presentation and hosting the guys that showed up.
I presented an overview talk about database gotchas, and how to load test a session-based app. Daniel talked about his unique implementation of memcached as a temporary data store and bulk write mechanism.
The presentations were informed by all of our hands-on experience adapting our write-heavy quiz from it's capacity of 200 simultaneous users all the way up to 30,000 simultaneous users (a 25x efficiency upgrade!). Rails does scale, and just like any other app, requires custom software and hardware solutions to match a project's needs. Throwing hardware at it is the first solution, but analyzing each and every bottleneck all adds up.
We fully intended to record the whole event, but alas we were video camera-challenged... sorry!
Here's a link to the talks on Slideshare, click to download the pdf file.
Links from the talks:
- Active Record Extensions
- Detailed DB Logging
- Ebb (lightweight web server)
- God (Monitoring)
- Gruff Graphs
- Jmeter
- Magic Multi Connections
- Seattle.rb's Memcache Client
- Thin (lightweight web server)
If you have any questions, post 'em up in the comments.










