Scaling WordPress on Joyent Cloud: Part Two

September 13, 2011 - by peteryorke

The following is a continuation of our series on scaling WordPress and a repost of Peter Yorke's original blog at Peter is a Solution Architect at Joyent with a passion for performance and scalability -- he's the man who knows how to make websites go to "11."

To continue building on the foundation of a single WordPress server implementation.

In this article, I discuss how to bring in a second server and cluster them behind a Zeus Load Balancer.

joyent wp zeus web

Here is a typical 2 webnode with database, I recommend a Master/Slave MySQL config, but for simplicity, I have just one pictured.

Joyent can clone the first WordPress via a support ticket, you will need to set up replication via a rsync script:

rsync wp-content/* jill@2nd-wordpress-server:/home/wordpress/wp-content

Next we need to create a Zeus load balanced pool with our two servers

Use caching on the Zeus, even 200mb will help with images, css and javascript files.

A few caveats:

When doing upgrades to WordPress or WP plugins, you will need to drain/disable webnodes in your Zeus configuration one at a time during your normal maintenance windows. So drain/disable, upgrade, then repeat.

If you are running Multisite, you will need to update similar to the above instructions.

In my 3rd and final article, I will attack issues related to scaling databases when performance gets sluggish.

Read more on scaling Wordpress sites on Joyent Cloud in parts one and three.