First days online : how not to kill your site

  1. Cache as much as you can. Any pages that are dynamically created should be cached so that users will get a static version. In page components that query the db should also be cached.
  2. Try using an external service like Amazon S3 to serve images and multimedia (or have it ready to use if the site suddenly gets hit with a ton of traffic).

Going live gradually can worked for SOF and SF because they already had built-in publicity and demand, due to the popularity of Jeff and Joel's blogs. If you do not have a near-guaranteed userbase like they did, then going live gradually could be fatal.

I would avoid limiting by concurrent sessions, as it is hard to define the end of a session caused by inactivity. If a user leaves for 15 minutes and tries to reload their page, only to get an error message - you just lost a user.


How much planning went into your data model ? Have you designed a schema that will allow you to ramp up your query volume without expensive sorts, binary columns, or complex joins ? Have you tuned your database backend (assuming you have one) ?

How are you serving your 'big images' ? Can you split that out into a separate web server process, even a separate domain ?

Have you load tested your system ? Tools like ApacheBench and Siege are invaluable.

Is all your configuration in svn ? Is your deployment automated ? You'll be glad of that when you have to roll our application out to the 2nd server.