WordPress Scaling Workflow
-
I am working on redesigning our wordpress architecture to better allow scaling and expansion in the future.
We are currently having multiple performance issues on our VPS as heavy traffic hits the server on a daily basis. The VPS is of good size (SSD, 4GB Ram, 4 Cores). Using new relic, I tend to see that the bottlenecks are PHP and MySQL processes. We are heavily caching everything in RAM / disk but caching can only take you so far. We frequently have multiple users hit pages that aren’t cached and start seeing spikes due to that. The issues that I can see are typically caused from CPU spikes due to Apache and high IO (my guess is due from the shared SSD array aka cloud hosting).
Now one plan that I have is to switch away from Apache and use an optimized install of NGINX. Other than that, I have 2 options. Either throw more hardware into the VPS, switch to a Dedicated Server, or scale the wordpress site to multiple servers.
Doing some research, it will be cheaper to scale out rather than upgrade the VPS. We will be utilizing Digital Ocean who has 1GB links between their droplets which should be plenty. So, my plan is to separate the Database from the Front web server to lighten/split the load for the site.
I believe this is the general workflow for scaling a site, or is there a better way? If I’m on the right track, what is the next milestone in scaling? Adopting HyperDB and splitting the database or use load balancing techniques with cloned web servers?
Thanks for the advice in advance!
- The topic ‘WordPress Scaling Workflow’ is closed to new replies.