I’ve been advising a few pre-launch startups that are getting ready to do their first ever product launch. From first-hand experience I know that the first product launch can be nerve-wrecking. You expect the product to be pixel perfect, and all the features to be fully functional and bug-free. But there is such a thing as spending too much time on perfecting the product, and forgetting that you need to be able to support load on the system. What good is a shiny product that people can’t even sign up for because a server has gone down, or their signup process takes on the order of minutes or hours!
- Logging. For good developers this should be a no-brainer, because they would havetested or debugged their code and would have included logging to do so. For Java I use log4J, Ruby has its own class Logger. You also want to make sure you are rotating the logs daily.
- Keep an eye on Exception and Errors. Once you’ve got your logging in place create a simple shell script to grep the logs and tally up errors and exceptions. You can set this up in cron to delivery the logs to your email every hour or day.
- Fix Showstoppers. These are bugs that prevent a user from signing up, or are glaringly obvious and create a negative and lasting impression on new users.
- Monitor Your Servers. Tools like Nagios or Ganglia.
- Monitor the drop off points. There are typically three: coming to the site, sign-up, and then performing the first action (depending on your product’s features). To do this you will need Google Analytics.
- Load Test. Test the limits of your system so that you know how much load it can handle. JMeter is a good tool to use to do this.
- Load Balancer. If you are responsible for your servers then I’d highly recommend doing this. Check out this intro lesson on load balancing.