Separate App an DB servers , Scabality and rails

Hi , what will be if my site traffic became huge , can i separate db
server and add 3 or more app server using rails framework. i think
designing my site using rails and put it in EC2 servers. what do you
think about this system? Will be work or not?

What you should consider first is to use cache. First and foremost, try memcached. Just store the results from database find, then you never touch the database except for writing and then for the first time reading after the write.

Also, you can use varnish cache, similar to a proxy server in front. Requires minimal knowledge, but you can easily go from 40 requests per sec to over 2000 on a shared host.

For example, I work for a company with the largest and most visited website in Scandinavia (top 3 at least), and we only have 1 or 2 servers for almost all and then 2 varnish servers. Not the full truth but pretty close. We get over 1.5 unique visitors per day with many more millions page views, and have plenty left, all due to varnish cache.

For all normal web sites, you can get really far with just memcached.