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 peteryorke.net. 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.

Sign up Now For
Instant Cloud Access

Get Started