blinking bear wrote:
We've got an idea that will involve rolling out to communities of anywhere
between 4-20k people, one community at a time. So lets say launch day its
opened up to a potential user pool of about 5000 at abc.domain.com , then
the next week its opened up to another community at xyz.domain.com, and so
forth. I have no idea what kind of server setup can handle this.
Think about how many requests per second your site will have to deal
with, rather than how many users you're going to have registered. Of
those 5000 users, how many will actually use it in an average day? How
many page requests make up your typical visit? Are they likely to be
concentrated during the lunch hour, or spread out during the day?
And, how long does your app take to respond to the average request?
Your key numbers are how many requests you'll be handling per second,
and how many requests you'll be handling simultaneously.
Is a VPS
big enough, or even 1 dedicated server?
If you can easily afford it, go for the dedicated server. My own
experience is that VPSs are fine for hobby sites and for hosting your
internal development site, but there's nothing like the reliability and
sheer response you can get from having your own box all to yourself.
And unless you're seriously going to be pushing many 10,000s or even
100,000s of requests a day (and chances are, you won't be), one
dedicated server should be plenty to start with.
What it only a fraction of the
people start using it?
Then you pat yourself on the back for being so well prepared, and start
focusing on your marketing plan!
How easy is it to ramp up from a VPS to a Dedicated
Easy. You're going from one box to one box. Rails won't notice the
or one dedicated server to many?
Harder. But you can smooth the process by anticipating this move, and
setting your application up so that you're 'sharing nothing' (e.g.
sessions in database), and so that the various components (web server,
app servers, database server) aren't relying on each other all being on
the same machine.
Finally, this sample chapter from 37s' Getting Real might be worth a