You put the finishing touches to your new Drupal website. You've meticulously tested every aspect of your design and run through your pre-launch checklist.
☑ Is the Typography consistant?
☑ Does the design line up to the grid?
☑ How about SEO, is everything in place?
☑ All copy is up to date and approved?
☑ Bottle of champagne on ice to celebrate the launch?
Everything is ready to go, time to let the world marvel at your new masterpiece. You send out emails to all your clients about the launch and then watch users stream in. However, as you watch the user count rise and the traffic start to spike. Something unexpected happens .... the site slows to a crawl and then dies completely!
This is the "Oh No" moment that every web developer dreads. With rising traffic and your clients on the site, you scramble to find out where the fault lies. Could it be the webserver? how about the database server? or could it be something completely un-related on another website on the same box?
To make matters worse, you've sent out emails to all your clients announcing your new website launch and when they come to look at it, the site may be slow or worse still, not working at all!
Right about now you have the feeling you should have added two other items to your checklist.
⬜ Capacity planning.
⬜ Performance Testing.
This scenario is sometimes referred to as "The Slashdot Effect", an unfortunate side effect of a rapid increase in traffic resulting in the website becomes overloaded and either slows down or is completely taken offline..
So how can you start capacity planning and performance testing? It can seem like something of an arcane art rather than a repeatable, measurable workflow. There are so many components that make up a Drupal site, all of which can have an impact on performance. To get the best performance possible, we need to review and fine tune each layer of the LAMP stack as well as Drupal and have a plan in place to handle the capacity needs of the website.
Drupal Performance presentation at ADUG
Over the coming weeks Mediacurrent will be posting a series of articles on improving each layer of the LAMP stack and provide practical tips on how to measure, test and handle the unexpected.
Presentation on performance optimization for the Atlanta Drupal Users Group by Andy Thornton.
Coming Soon: Capacity Planning