At SXSW, we had some dude freaking out about how we didn't know what we were talking about because his site could handle hundreds of thousands of users at a time.. It was cute, and almost not even worth responding too given our background with sites like Engadget, TMZ, Autoblog, Joystiq and the rest of the happy blogsmith users.
Anyhoo, one of the Twitter developers, Alex Payne, was interviewed and specifically asked about their experiences with the Rails framework, being that they are now probably the biggest Rails site on the net.
The common wisdom in the Rails community at this time is that scaling Rails is a matter of cost: just throw more CPUs at it. The problem is that more instances of Rails (running as part of a Mongrel cluster, in our case) means more requests to your database. At this point in time there's no facility in Rails to talk to more than one database at a time. The solutions to this are caching the hell out of everything and setting up multiple read-only slave databases, neither of which are quick fixes to implement. So it's not just cost, it's time, and time is that much more precious when people can['t] reach your site.I have yet to meet a Rails developer who honestly thinks that Rails (in its current form) is a highly scalable framework, unless they come from a design background or a java background. Two backgrounds who ultimately shouldn't be allowed to discuss efficient, affordable scaling in any serious tone. ;)
Full interview here
(hat tip Gavin for the link)


Comments...
(Page 1)1. Considering how defensive the rails community typically is, and how defensive DHH's response read, I'd say it's as much of a call out as Rails is going to get.
I'm not saying ruby on rails can't get there eventually, but until Ruby itself improves, scaling will be an issue of concern for a lot of folks. The Rails community needs to embrace this kind of thing and search for solutions to the headaches large sites encounter. In order to embrace negative feedback, they'll have to admit to themselves that there are "problems" in some folks eyes -- something I personally haven't seen much of.
Besides, if Twitter is having issues at 11,000 requests/second over that kind of equipment.... I mean.. That's gotta suck. Especially when you consider that the issues first cropped up when Twitter was probably half of that.
But hey, whatever, Rails is the best yadda yadda cheerleading yadda
4:47PM on Apr 12th 2007 by Alex Rudloff
2. Excellent Blaine -- thanks for the heads up!
4:07PM on Apr 13th 2007 by Alex Rudloff
3. I'll be giving a talk on Scaling Twitter next weekend at the SDForum Ruby Conference, if you're in the Bay Area. The blog post is here: http://romeda.org/blog/2007/04/scaling-twitter-talk.html
4:55PM on Apr 13th 2007 by Blaine Cook
4. So it sounds like some database work to be done. Easy right? I keed. That's a pretty sucky Achilles' Heel to have though.
9:15PM on Apr 15th 2007 by Victor Agreda Jr
5. Read Alex Payne's comment on DHH's blog:
"It wasn't my intention to give the impression that Rails doesn't scale, merely that there are some challenges to doing so, as there would be on any platform."
"We'd be running into scaling issues on Django or any other platform. We're happiest scaling on Rails."
http://www.loudthinking.com/arc/000608.html
"Twitter Developer Calls out Ruby on Rails", indeed...
7:58AM on Jul 19th 2007 by ste