High Performance Drupal Thoughts

Profile picture for user Phil Frilling
By Phil Frilling, 25 April, 2012
Some thoughts for setting up a high performance Drupal stack:

Needs:

  • High availability for an estimated 4,800 users.
  • Traffic will be modest with heavy spikes during certain times.
  • Traffic will be mainly authenticated users.
  • Needs to be 100% reliable, especially during the spikes.

Solutions

  • One server dedicated to MySQL.
    • EC2 instance running MySQL and not much else? The price for this will be cheaper, but will have the extra overhead of patching the OS, etc.
    • Amazon RDS (http://aws.amazon.com/rds/)? Will start with the small DB Instance (1.7 GB RAM, 1 Processor, 64-Bit). Price is 1.5 cents higher then the prior option, but will have less overhead/headache in maintaining the system.
  • One server dedicated to Apache/PHP. (Small EBS Booted EC2 instance, 1.7GB RAM, 1 Processor, 160GB local storage, Snapshots twice a day.)
  • File handling

Scalability

Using the Amazon architecture allows us to easily scale up (or down) the resources by stopping the instance, changing the hardware type, restarting the instances and re-mapping the Elastic IP address. As the load grows, we can ramp up the processing power of the small instances incrementally to handle the load. - http://alestic.com/2011/02/ec2-change-type