Load Test Drupal Site Using Apache JMeter and Amazon AWS

Published by burgerboydaddy on Wed, 10/09/2013 - 20:34
My presentation for Pacific NorthWest Drupal Summit 2013 about how performance, load, and stress test Drupal site:
"Load Test Drupal Site Using Apache JMeter and Amazon AWS".
Here is a link to the presentation slides.

Improving Drupal Performances

Published by burgerboydaddy on Tue, 07/09/2013 - 08:52
My presentation for Surrey Drupal Group about how to improve Drupal site performance:
"Improving Drupal Performances".
Here is a link to the presentation slides.

Installing Apache Load Balancer

Published by burgerboydaddy on Sun, 02/10/2013 - 23:02

As first step to get configuration done, we need to have Apache Load Balancer installed and configured to talk with web farm.
Apache web server ships a load balancer module called mod_proxy_balancer (since version 2.2). All you need to do is to enable this module and the modules mod_proxy and mod_proxy_http. Please note that without mod_proxy_http, balancer just won't work.
LoadModule proxy_module
LoadModule proxy_http_module
LoadModule proxy_balancer_module

Option 1 - Separated Servers

Published by burgerboydaddy on Sun, 02/10/2013 - 21:45

As mentioned in my previous post "Horizontally Scaling Drupal" some very bad experience finally allowed me to get open hands and chance to review options how to horizontally scale some Drupal based web sites.

Easiest option is to split on multiple servers apache, cache servers and MySQL. This option require at least 3 servers but lack ability to add increase resources in any other way except vertically; adding RAM & CPU to every server. Second problem here is each component is single point of failure. One server crashes, complete site is down. So with this we are not far from initial state :-(.

Second option is ability to add multiple server to each component. Since I didn’t know where site will be hosted and what do I have available (most important part is Load Balancer) created solutions required some extra servers for proxy/balancing purpose.

Horizontally Scaling Drupal

Published by burgerboydaddy on Sun, 02/10/2013 - 20:56

Few months ago something terrible happened. One corporate site (written in Drupal) crashed after just couple of hundreds concurrent users visited site. Since that was in time of some very important promotions we were tasked to fix problem asap (10:05am).

Our finding --> Reason #1 (10:15am): We had very basic server (6GB RAM, 2CPU) hosting inside same box: apache, all caches, and MySQL. Our top-of-the-art Drupal app that required just few Cray machines crashed 100% :-).

So what did we do. Since time was critical we did: