# Experiences with RAM and CPU Demand of Rails Applications?

**URL:** <https://www.ruby-forum.com/t/experiences-with-ram-and-cpu-demand-of-rails-applications/172600>\
**Category:** Rails\
**Created:** [July 23, 2009, 9:53pm UTC](https://www.ruby-forum.com/t/experiences-with-ram-and-cpu-demand-of-rails-applications/172600 "2009-07-23T21:53:48Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![enduro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/5f8ce5/32.png) [@enduro](https://www.ruby-forum.com/u/enduro)\
**Post date:** [July 23, 2009, 9:53pm UTC](https://www.ruby-forum.com/t/experiences-with-ram-and-cpu-demand-of-rails-applications/172600/1 "2009-07-23T21:53:48Z")

</div>

Hello.

given the fact that there are numerous different hosting offers with  
different parameters and technologies, I would like to ask if there are  
some heuristics or rules of thumb existing to determine the demand of an  
own rails application?

Input parameters would be something like:  
page impressions/day, average site size (in KB), average complexity of  
the rails logic of a site

example 1

- 1,000 page impressions/day
- 75 kb average site size
- complexity: simple data base application (simple selects etc)

example 2

- 25,000 page impressions/day
- 75 kb average site size
- complexity: middle (some more complex selects using joins etc.)

How much RAM, CPU etc. is necessary to realize such requirements? Is it  
possible to do it with classical webhosting (sharing a cpu with a lot of  
other people) or do one need VPS or cloud hosting? What parameters for  
RAM and CPU are necessary? At which configuration of the mentioned input  
parameters are VPS or cloud hosting necessary?

I’m aware of the fact, that can not be an exact calculation but I’m  
interested in the dimensions. I want to get a feeling what kind of  
hosting (and parameters) is necessary to realize a specific rails  
application (in terms of page impressions/day etc.).

Thanks in advance,  
Sven

---

<div class="post-metadata">

**Author:** ![enduro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/5f8ce5/32.png) [@enduro](https://www.ruby-forum.com/u/enduro)\
**Post date:** [July 23, 2009, 10:13pm UTC](https://www.ruby-forum.com/t/experiences-with-ram-and-cpu-demand-of-rails-applications/172600/2 "2009-07-23T22:13:56Z")

</div>

> How much RAM, CPU etc. is necessary to realize such requirements? Is  
> it

You could get away with the smallest/cheapest/slowest system for  
either of the above requirements. Remember that 25,000 impressions/  
day is really only _one_ every three seconds or so. Which is nothing  
as far as traffic goes. And certainly one Rails instance could handle  
it without any issues.

The problem is that traffic is never evenly spread out like that.  
What you need to look at is concurrent requests per second. That’s  
the metric that really matters. For example, if those 1,000 hits/day  
all come b/n 5:00 and 5:01 I’m gonna need a much bigger backend to  
handle the load.

That all said, the only real piece of advice I can give you is that a  
single Rails instance tends to use b/n 30-80mb of RAM depending on  
what you’re doing. Which means in the real world, given say a 256mb  
VPS (say a slice at slicehost since that’s what i’m most familiar  
with) you’re going to max out your rails instances somewhere between 3  
and 4. So let’s assume it’s 3.

Now, look at _your_ app and figure out how long an average request  
takes. Do the math and now you know how much traffic you can support.

Good luck!

-philip
