FreeForums.org utilizes several advanced technologies to bring its forum hosting platform to its viewers.

The Web Front

FreeForums utilizes the Zeus ZXTM Load Balancing software to distribute all incoming requests for forums across its Intel Xeon 5400 web servers. Zeus provides us with a seamless way to distribute requests and handle down web servers without causing interruption to the viewers.

All incoming requests land at the Zeus ZXTM server. Zeus then selects a backend web node to serve the request based on the current load of each node and historical data to suggest which node has the most available processing power. In the event that a node is unreachable, it is removed from the pool and all requests are redirected to another node. This happens without the viewer ever knowing there was a problem.

All customer data is distributed across several MySQL storage servers each utilizing Intel Xeon 5400 CPUs and eight-disk, 15000RPM, SAS RAID arrays. This distribution ensures that problems with any one server will not affect other servers and also provides for adequate power across the entire network.

Usage of Memcached

Reducing the read/write load on our MySQL servers has been a continuing struggle for us. To help us achieve our goals, we utilized Memcached.

Using memcached, we are able to store stats, configuration data, and more into the memory of our web servers. Doing this prevents us from having to access the MySQL disks more often and results in pages loading faster. A perfect example: The Ajax chat system runs entirely within Memcached. Without Memcached, the Ajax chat system cannot work as it causes too much load on the MySQL servers.

Backup System

FreeForums.org has a lot of data (and I mean a lot of data). Each MySQL server has well over 20 million files on its filesystem. Every customer also has their own attachments folder full of its own files. To make backups of all this data has never been easy. At first we utilized rsync to send manual backups to our backup server, but that proved to be time consuming, slow, and unreliable.

Enter our backup system. Our backup system is an automated backup solution which provides us with point-in-time backups of all our data with easy point-click file restorations. It runs continuously and has helped us many times in the past to recover lost data.

Our global MySQL server, support board, and fileserver get backed up every 15 minutes and maintain over two weeks of checkpoints. This means that we can choose which version of a file we wish to restore from over the past two weeks. Our MySQL data servers are backed up once per day and also maintain two weeks of checkpoints.