# Scalability and Possiblity

**URL:** <https://www.ruby-forum.com/t/scalability-and-possiblity/69772>\
**Category:** Rails\
**Created:** [September 24, 2006, 1:16am UTC](https://www.ruby-forum.com/t/scalability-and-possiblity/69772 "2006-09-24T01:16:23Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![gregor](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/6a8cbe/32.png) [@gregor](https://www.ruby-forum.com/u/gregor)\
**Post date:** [September 24, 2006, 1:16am UTC](https://www.ruby-forum.com/t/scalability-and-possiblity/69772/1 "2006-09-24T01:16:23Z")

</div>

I’m not sure this is the appropriate community to get objective  
unbiased feedback on this issue, but I suppose it’s worth a gander…  
Here’s my question:

Is it possible to write a massively scalable application intented for  
millions of users (i.e. Yahoo, Google, MySpace, etc.) using Ruby on  
Rails?

I’m sure apps like these can be built, but can they scale to support a  
huge community? Are there any case studies of massive sites built  
using ROR?

Thanks for you insights.

---

<div class="post-metadata">

**Author:** ![gregor](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/6a8cbe/32.png) [@gregor](https://www.ruby-forum.com/u/gregor)\
**Post date:** [September 24, 2006, 2:34am UTC](https://www.ruby-forum.com/t/scalability-and-possiblity/69772/2 "2006-09-24T02:34:29Z")

</div>

On Sep 23, 2006, at 10:45 AM, gregor wrote:

> Is it possible to write a massively scalable application intented for  
> millions of users (i.e. Yahoo, Google, MySpace, etc.) using Ruby on  
> Rails?

Yes, you can write applications like this in Ruby on Rails.

There are aspects of Rails that might make it a bit more expensive to  
scale to that level, but there are aspects of Rails that might allow  
you to get there sooner, which saves money too.

> I’m sure apps like these can be built, but can they scale to support a  
> huge community? Are there any case studies of massive sites built  
> using ROR?

I don’t believe anyone currently has an Rails site that large yet.

[penny-arcade.com](http://penny-arcade.com) is Alexa 1,600 and [pitchforkmedia.com](http://pitchforkmedia.com) is Alexa 3,700

I’m sure there are other examples, perhaps larger.

–  
– Tom M.

---

<div class="post-metadata">

**Author:** ![gregor](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/6a8cbe/32.png) [@gregor](https://www.ruby-forum.com/u/gregor)\
**Post date:** [October 18, 2006, 10:43am UTC](https://www.ruby-forum.com/t/scalability-and-possiblity/69772/3 "2006-10-18T10:43:29Z")

</div>

[43things.com](http://43things.com) has 605,054 users  
that’s the largest RoR website i can think of

–  
Heri R.  
[http://sprinj.com](http://sprinj.com)

---

<div class="post-metadata">

**Author:** ![gregor](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/6a8cbe/32.png) [@gregor](https://www.ruby-forum.com/u/gregor)\
**Post date:** [September 24, 2006, 6:54pm UTC](https://www.ruby-forum.com/t/scalability-and-possiblity/69772/4 "2006-09-24T18:54:10Z")

</div>

At ChaCha, we use RubyOnRails for the ChaCha Underground. It is not  
used as a primary part of the search engine, but to power the community  
of guides. We get a relatively large amount of traffic and handle it  
quite well.

The key to great performance, as the people at the Robot Coop know, is  
to cache. This can be quite challenging for community sites, where  
every user gets a unique experience, but it is possible.

Another important step is to make sure that non-cached queries are as  
optimized as possible. This means using eager loading, and in some  
cases, custom queries to reduce the necessary communication between  
Rails and the database.

Gregg

---

<div class="post-metadata">

**Author:** ![gregor](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/6a8cbe/32.png) [@gregor](https://www.ruby-forum.com/u/gregor)\
**Post date:** [October 18, 2006, 10:43am UTC](https://www.ruby-forum.com/t/scalability-and-possiblity/69772/5 "2006-10-18T10:43:30Z")

</div>

On Sat, 23 Sep 2006 10:45:44 -0700  
“gregor” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I’m not sure this is the appropriate community to get objective  
> unbiased feedback on this issue, but I suppose it’s worth a gander…  
> Here’s my question:

Hehe, yeah, like you get it from any other community. That’s usually  
why I tell people to do their own analysis and don’t believe anything  
anyone tells you (even me).

If you’re looking to do an analysis of what might be possible then check  
out PDQ. It’s pretty decent, but only perl and python bindings. Has an  
OK book but the copy I bought had about 40 blank pages due to a printing  
defect and it’s kind of dense (seems nobody can write about performance  
in a simple way).

[http://www.perfdynamics.com/iBook/ppa\_new.html](http://www.perfdynamics.com/iBook/ppa_new.html)  
[http://www.perfdynamics.com/Tools/PDQperl.html](http://www.perfdynamics.com/Tools/PDQperl.html)

> Is it possible to write a massively scalable application intented for  
> millions of users (i.e. Yahoo, Google, MySpace, etc.) using Ruby on  
> Rails?

The unbiased answer is “no”. But, do you think those companies use just  
one language and platform? What you’ll find is the exact technology mix  
of these companies is considered a trade secret, but that all of them  
uses a mix of hardware and software in order to reach their goals. Even  
the great language zealot Paul Graham admitted that they used C in part  
of their Lisp system:

“[1] Viaweb at first had two parts: the editor, written in Lisp, which  
people used to build their sites, and the ordering system, written in C,  
which handled orders. The first version was mostly Lisp, because the  
ordering system was small. Later we added two more modules, an image  
generator written in C, and a back-office manager written mostly in  
Perl.” [Beating the Averages](http://www.paulgraham.com/avg.html)

So no, you can’t do a massively scalable system of any kind in any  
single language. It’s just not practical because no language or tool is  
perfect for every job, and the idiots who try to use one language for  
everything are the ones who will make sure you never reach your goals.

> I’m sure apps like these can be built, but can they scale to support a  
> huge community? Are there any case studies of massive sites built  
> using ROR?

Now, this brings me to another point I’d like to make: you are  
confusing “scalability” with “performance”. I think of performance as  
what a particular deployed system in a particular configuration can do.  
Scalability is the difficulty or ease of changing this situation to  
something more or _less_ capable. Yes, sometimes you want to scale  
back, just like google did with their appliances.

It’s possible to scale anything to any levels–just buy more hardware  
like google did (what 200k machines now?). The real question about  
scalability is how difficult this is and what it costs. Scalability is  
more about economics, with risk problems, resource efficiency, etc.

The question you really should be asking is: “Has anyone had to scale  
their site from nothing to a large scale deployment with RoR and how  
difficult was this? Also, did you just use Rails or are you mixing it  
up?” That’d probably give you a better sense of the effort and expense  
involved.

Hope that helps.

–  
Zed A. Shaw, MUDCRAP-CE Master Black Belt Sifu

> **[Zed A. shaw](https://zedshaw.com/)**
>
> Personal essays and writings by Zed A. Shaw.

[http://mongrel.rubyforge.org/](http://mongrel.rubyforge.org/)  
[http://www.lingr.com/room/3yXhqKbfPy8](http://www.lingr.com/room/3yXhqKbfPy8) – Come get help.

---

<div class="post-metadata">

**Author:** ![gregor](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/6a8cbe/32.png) [@gregor](https://www.ruby-forum.com/u/gregor)\
**Post date:** [October 29, 2006, 3:28pm UTC](https://www.ruby-forum.com/t/scalability-and-possiblity/69772/6 "2006-10-29T15:28:00Z")

</div>

On Sep 23, 2006, at 11:36 AM, Zed A. Shaw wrote:

snip…

> > I’m sure apps like these can be built, but can they scale to  
> > support a  
> > huge community? Are there any case studies of massive sites built  
> > using ROR?

snip…

> The question you really should be asking is: “Has anyone had to  
> scale their site from nothing to a large scale deployment with RoR  
> and how difficult was this? Also, did you just use Rails or are you  
> mixing it up?” That’d probably give you a better sense of the  
> effort and expense involved.

Really, really, really good answer, Zed!

–  
– Tom M.

---

<div class="post-metadata">

**Author:** ![gregor](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/6a8cbe/32.png) [@gregor](https://www.ruby-forum.com/u/gregor)\
**Post date:** [October 18, 2006, 10:43am UTC](https://www.ruby-forum.com/t/scalability-and-possiblity/69772/7 "2006-10-18T10:43:32Z")

</div>

Thanks everyone for the good info.

Heri R: Do you know what type and quantity of hardware [43things.com](http://43things.com)  
utilizes to support 600,000+ users?
