February 2013

Option 2: Multiple servers connecting to the multiple DB's

Published by burgerboydaddy on Wed, 02/20/2013 - 16:11

So this option is many aspects similar to the default one, with one big difference. In this case each web server will have it's own db server.
Reason for this: Higher site availability; if one db server is down, second one can continue to serve customers. Also for this case load balancer must to be able to see both installations (this is some kind of prequel for cloud deployment).

On image you can see multiple web servers / db server but in general simplest option is to have 2 db servers.

Drupal 7 – Setup master-master replication with 2 MySQL db servers


Resize VirtualBox VM disk size

Published by burgerboydaddy on Sat, 02/16/2013 - 11:16


Uh, my development VM disk is full. During last update I received notice that it cannot be done because lack of space. I have 6GB disk only for Ubuntu (12.04) and it is full... Hm, previously I had idea that only Windows require so much disk space :-).

So how to re-size that disk; There are few steps involved in the process but can be done very fast.

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 mod_proxy.so
LoadModule proxy_http_module mod_proxy_http.so
LoadModule proxy_balancer_module mod_proxy_balancer.so

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:

How to use Ubuntu Server as web server on Windows 7 or Mac OS X via VirtualBox

Published by burgerboydaddy on Sat, 02/09/2013 - 10:49

Working with Drupal and trying to get as close as possible to the production environment has moved my development from Windows & Mac to Ubuntu. Recently I found that I spend some 70% of time using Ubuntu VM, and rest of the time on PC/Mac. First (long time ago) I used my own Virtual Machines, but after some time I found great Drupal project named Quickstart. Later, there was second one named DrupalPro