Possible Duplicate:
Can you help me with my capacity planning?

I am planning to hosing an rails application + Mysql in dedicated server

maximum 200 replicated rails application with 200 unique databases

simply for understanding

www.client1.product.com   use client1 rails application connected with database name client1
www.client2.product.com   use  client2 rails application connected with database name client2

Each database has 90 tables, so client1 will use one Database with 90 tables

we can calculate for 200 rails app means 200 databases so (200 * 90 tables = 18000 tables)

What my question is whether the following server hardware configuration can able to handle 200 unique rails app phusion passenger instance with 200 unique databases

Total Server Load Assumptions:

Average concurrent http connections to my server is 300

At peak Day time http connections may vary from 500 to 2000

Each client will have maximum db size of 1 GB (if my application runs beyond 4 years) , so 200 clients * 1 GB DB = 200 GB (ie each DB of 1 GB size)

OS - Centos or Ubuntu

Dedicated server configuration:

CPU         AMD Opteron™ 3280
Quantity    Octo-Core
Clock Rate  8x 2.4 GHz (so total 19.2 GHz)
Processor passmark score is 5722 [http://www.cpubenchmark.net/cpu.php?cpu=AMD+Opteron+3280]

Main Memory

Capacity    32 GB RAM
Type    DIMM (DDR3)

Hard Disks

Quantity    2
Capacity    2,000 GB (ie) 2 TB + 2 TB
Type    SATA II, 7,200 rpm, 8 MB
RAID    RAID 1 by software


Chipset AMD 880G
Network Broadcom BCM57780

Application Info:

For simple understanding , Rails application source code is same but with different databases. Each client should have seperate DB and separate rails instance. I am replicating - duplicating code for each client with separate folders and giving different database names and so each serving as an different instance.

For Example:

I am having one primary temp domain


For each client i need to have separate sub domain mapped to same server with same port(80) but with different rails instance name


Application Architecture:

With Phusion Passenger + Nginx, the easiest way to achieve VHOST.

my project in different folders :

/var/www/rails/client1/ /var/www/rails/client2/ /var/www/rails/client3/ /var/www/rails/client4/ Then make a VHOST file for each of your client in /etc/apache2/sites-available/client1.product.com

ServerName client1.product.com DocumentRoot /var/www/rails/client1/current/public

    <Directory /var/www/rails/client1/current/public>
            Allow from all
            Options -MultiViews

Any reviews and comments about server configuration and application architecture are always welcome and i am glad to take it.

marked as duplicate by Michael Hampton, TomTom, Chopper3, pQd, Zoredache Aug 8 '12 at 7:40

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.


No idea. Noone has. Because we have ZERO ideas where your bottlenecks are and how much Memory, CPU and IO every application uses, nor how many users they have.

Could work, could blow. Sit down and test it.

if all 200 gb's are active at the same time, yo have a terrific 153,6 mb per application (assuming 2gb for overhad and OS) which may work, but only about 2 IOPS on the disc side.

I personally would go to a 6xxx level dual socket board, plug in one CPU with 16 cores and 64gb memory and add a second CPU as needed.

But only you can say. This is what labs are for.

  • I have updated my question and added more information in Total Server Load Assumptions: – Sam Aug 8 '12 at 7:34

Not the answer you're looking for? Browse other questions tagged or ask your own question.