# Server Specs for deployment

**URL:** <https://www.ruby-forum.com/t/server-specs-for-deployment/137646>\
**Category:** Deployment\
**Created:** [May 14, 2008, 11:59pm UTC](https://www.ruby-forum.com/t/server-specs-for-deployment/137646 "2008-05-14T23:59:02Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![bigdaddy71](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/bbe5ce/32.png) [@bigdaddy71](https://www.ruby-forum.com/u/bigdaddy71)\
**Post date:** [May 14, 2008, 11:59pm UTC](https://www.ruby-forum.com/t/server-specs-for-deployment/137646/1 "2008-05-14T23:59:02Z")

</div>

The rails app I have created is an online assessment for 3rd - 5th  
graders. When the project goes into production there will be 300-400  
kids accessing the site at the same time. I have been speeking with  
several hosting companies and the last one I spoke with suggested  
measuring the memory usage for one user and multiply that by the number  
of users (300-400). Then they will give me suggestions on what I should  
be using for a hosting package.

Does anyone know how to check the memory usage of the rails app? I have  
never worried or have had to deal with this before and am lost. This is  
the first app I am deploying.

Or does anyone have suggestions on hosting packages that would be  
suitable for 300-400 users hitting the site at once. I am guessing a  
dedicated server will be needed but I am also trying to do this low cost  
without having the site be extremely slow.

Any suggestions?

Thanks in advance!

Chris

---

<div class="post-metadata">

**Author:** ![bigdaddy71](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/bbe5ce/32.png) [@bigdaddy71](https://www.ruby-forum.com/u/bigdaddy71)\
**Post date:** [May 15, 2008, 1:42pm UTC](https://www.ruby-forum.com/t/server-specs-for-deployment/137646/2 "2008-05-15T13:42:01Z")

</div>

Chris,

```
I haven't seen in my rails applications a linear correlation

```

between users and memory, not sure how is coded yours.

```
The memory of healty rails process starts around 40MB and goes up

```

to whaetever the garbage collector allows. In my case have seen that  
this processes (thin, mongrels) stay around 80MB, this will depend on  
your app.

```
You will need at leats a couple of mongrels, thins, whatever to

```

run your site. Adding a bunch of mongrels withouts supporting cores  
usually wont help, don’t runn to start too many mongrels at first.

```
 I have found that a basic VPS setup for a rails app with a

```

moderated traffic, supporting a couple of mongrels, nginx in the  
front, database and Monit or God for monitoring requires 384 MB, but  
you can make it fit 256 MB if you fine tune it and you are short on  
cash.

```
I would recommend starting with such configuration, having a clear

```

option to add more CPU and Memory if required, keeping an eye in the  
logs, and caching where necessary. Check with your hosting company.

```
Off course if you can afford a dedicated server as starting point,

```

just go and get it. An easy way to make this scale is using  
virtualization to configure it as separated servers, database, web,  
application, etc. But that is another discussion.

```
Best regards,

```

–  
Aníbal Rojas

> **[Home - Has Many Developers](https://hasmanydevelopers.com/)**
>
> We are the best choice for your building design and development

> **[RUBYCORNER.COM](https://www.rubycorner.com/)**
>
> RUBYCORNER.COM - Contact us for any business inquiries

[http://anibal.rojas.com.ve](http://anibal.rojas.com.ve)

On May 14, 5:59 pm, Chris H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![bigdaddy71](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/bbe5ce/32.png) [@bigdaddy71](https://www.ruby-forum.com/u/bigdaddy71)\
**Post date:** [May 16, 2008, 2:27am UTC](https://www.ruby-forum.com/t/server-specs-for-deployment/137646/3 "2008-05-16T02:27:09Z")

</div>

Hi Chris,

I’m Maykel from [SpeedyRails.com](http://SpeedyRails.com). As Anibal said, your Rails  
application is going to use around 40-100MB RAM per Mongrel instance  
depending on your code and server architecture (your application is  
going to use around 2x memory in 64 bits servers). Multiplying the  
amount of memory needed for one user per the number of users is not  
correct at all.

The most important thing is how many Mongrel instances you have for  
your Rails application, since every Mongrel instance can respond to  
only one request at the same time (that’s why you will be always using  
the memory you need for one user, not for 300-400 users) you will need  
around 3-4 Mongrel instances to ensure your application can respond to  
300-400 simultaneous users, considering you will be receiving around  
100-200 requests per second (let’s say all the users won’t be clicking  
at the same time) and considering your application can respond to  
50-60 requests per second (which is good actually, could be less).

Hope this help. If you need further information about our hosting  
plans just send us and email, our site is been updated now but you can  
contact us at sales [at] speedyrails [dot] com.

Thanks,  
Maykel

–  
Maykel Rodriguez

> **[Home - Speedyrails](https://www.speedyrails.com/)**
>
> Speedyrails is an AWS Advanced Consulting Partner. We leverage our extensive AWS knowledge to provide exceptional managed services.

Easy to use Rails hosting

---

<div class="post-metadata">

**Author:** ![bigdaddy71](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/bbe5ce/32.png) [@bigdaddy71](https://www.ruby-forum.com/u/bigdaddy71)\
**Post date:** [May 16, 2008, 12:17pm UTC](https://www.ruby-forum.com/t/server-specs-for-deployment/137646/4 "2008-05-16T12:17:13Z")

</div>

Get a slicehost account (or other virtual host) with 256MB of ram for  
twenty bucks  
and run ab or httperf over your app with a bit of concurrency.

Then, when everything goes to hell consider adding some really basic  
caching.  
I don’t think you’ll need to stress that much - but file based caching  
will serve a lot of requests.

Good luck.

On May 16, 10:26 am, “removed\_email\_address@domain.invalid” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
