Topic: Rails capability question - 100,000 UVs a month?

Hello,

I'm doing research for a client in order to ese what his hosting needs are and will be. Currently, his site is an HTML only site running on a server with a few other sites, and this particular site gets about 15,000 UVs a month. I don't know about the other sites as they are not his, but I'm guessing they get much less traffic.

His site is being redesigned and recreated in a dynamic fashion. He has a goal of raising the traffic to 100,000 UVs a month within a year or less.

At least at first, the site will be a fairly low-demand site - reading database records with a few has one and HABTM relationships, and of course the creation, updating, and deleting of these records - but it will have 10,000 records or more, when it goes live.

I've been doing research to see what Rails can offer to his site, and how it could do this. Do you think Rails is a good choice for this, with caching and such? If so, can you point me to a resource or two that I can use to focus on caching, especially? In the Rails sites I've built, I haven't had to focus as much on performance.

Finally, do you think he can remain on his current host? If not, does he need to invest in a dedicated server or virtual server, or can he remain on a shared host? If so, any recommendations for a shared host (for example, would MediaTemple fit this)?

Any thoughts are muchly appreciated.
Jonathan

Re: Rails capability question - 100,000 UVs a month?

If you code it well and not expect a site that gets 100,00 UVs to run on the same level of hardware you can run a low traffic site then it will be fine. There are plenty of high traffic sites that run on Rails. Github and Yellow Pages in America are great examples.

You won't be able to run this on a shared host, a VPS from Linode or Slicehost are a great way to easily grow your site resources as your site grows.

Just remember that most bottlenecks in Ruby and Rails will be yours, not Ruby's, and as your site grows you need to invest in it's infrastructure. Remember these things and you will be fine.

Last edited by cherring (2009-05-30 19:19:38)

Re: Rails capability question - 100,000 UVs a month?

Calculate how much 100.000 UV are over a 10hr day period with some peaks, you'll see that even badly coded rails app can handle the load.

Re: Rails capability question - 100,000 UVs a month?

Johnson wrote:

Calculate how much 100.000 UV are over a 10hr day period with some peaks, you'll see that even badly coded rails app can handle the load.

That's a good example I think.

Look at your demographics.  If you are serving 99% of your traffic from LA to NY and you are serving a business app, you will probably see hits from 7:00 AM to 9:00 PM EST.  So 14 hours.

Now, 10,000 UV's per month means 333 per day (30 days).  I would say use 20 days and ignore weekends for this example.

So that would be 10,000 / 20 = 500/day.  Let's say the average user has 200 requests in a normal session.  So 100,000 requests per day.  Requests being DB calls, erb renders, etc.

100,000 requests over the 14 hours would be 7,143 requests per hour, 119 per minute and 2 per second.

Seems to me a good setup (2 slices, one DB with 2 gigs and one web with 1 gig) should handle that quite easily.