New Back-end Setup for

1 minute read

So after running this blog on a single server running within an ISPConfig setup for quite some time I have finally redesigned the back-end (it has taken a good week getting it to where it is now). This was basically due to the fact that I have started getting a lot more traffic and I needed the ability to scale better. So far this new setup has proven to be very good, even though there have been a few gotchas along the way. And there will be many things I will still be stumbling across as I get more traffic. I do appreciate those who have let me know when something is not working correctly which I have corrected along the way.

  • For the edge I am still using a PFSense dedicated server as my firewall.
  • For load balancing I am using a pair of Citrix VPX Express Netscaler’s HA clustered. I am using LeastConnection policy and CookieInsert for persistence.
  • For my web server’s I am using a pair of Apache Web Servers running on Ubuntu 12.04 x64. All /var/www content is being synced between them by using a Unison replication that runs every minute. I have also setup each server with a 64MB Memcached Cache which is shared between each server. I also installed the PECL memcached extension. For Wordpress to utilize this I used this drop-in and then setup batcache drop-in.
  • For my MySQL DB Server’s I am running a pair of MySQL Server’s running on Ubuntu 12.04 x64. These are setup in an Active/Active Master-Master mode. Make sure to setup the following in your my.cnf when doing this or you will get duplicate entries in your DB and it sucks. Here is a great writeup on doing this.

        server-id      = 1
        auto-increment-offset   = 1
        auto-increment-increment    = 4


        server-id      = 2
        auto-increment-offset   = 2
        auto-increment-increment    = 4

Below is a quick drawing of what this all looks like.


And here are some memcached stats after running for a day.




Leave a comment