kjphilips
By:
kjphilips

WordPress one click app and High CPU or High CPU and Block Storage

August 9, 2017 118 views
Block Storage WordPress Ubuntu

I am working with a client and migrating them from a WP Engine environment to DO. They are looking at the High CPU droplets and WordPress one click apps. My questions are...

  1. is there an advantage to the High CPU in a WP/Woo setup
  2. If I am not able to build a droplet with the High CPU and WP One Click App I could build it from the ground up and attache block storage but how would that work and is there anything I should look out for.
  3. what is the advantage of the high CPU vs a standard box with 8 cpu's and 8 gigs of ram

Thanks!

3 Answers

@kjphilips

Overall, the High CPU Droplets are designed to provide more compute power over the processors in use by our standard Droplet line.

On the High CPU, currently we're using the Intel Xeon E5-2697A v4 (2.60GHz) whereas we're using a mix on the standard Droplet line -- the 8GB I just tested uses E5-2650 v4 (2.20GHz).

For those who aren't doing CPU-intensive processing, the difference will most likely be negligible. In most cases, RAM and static caching is going to be more important than a difference of .4Mhz to 1GHz in CPU. That's based on experience working with some pretty high traffic WordPress sites (ranging in from 200-500k to 1-2m visitors a month up to 20m).

Throwing WooCommerce in to the mix makes RAM and static caching all the more important.

It also comes down to traffic levels and overall configuration and optimization of your stack. The key difference here is that WPEngine manages setup, configuration, and software optimization on their end so you don't have to (beyond WordPress -- as in Apache/NGINX, MySQL, etc). When you venture in to a self/un-managed environment, you then become responsible for those management tasks.

In such a case, on an un-optimized stack, you may find performance is actually worse than what you are moving from as default configurations are not well tuned for production. It takes tweaking and tuning to get a balance :-).

@jtittle

Thank you for that information! That is what I was thinking but wanted to make sure that I was not missing anything so that we could provide the client with the best possible solution.

I actually took their current site from WP Engine and setup a @gig standard droplet and configured it to reduce the load times from "Go get a cup of coffee and read a book" to "wow that's fast". Honestly didn't take that much!

WP Engine is a great shared hosting platform for WP, still think that you can get more out of doing it yourself, if you know what you are doing.

  • @kjphilips

    No problem, happy to help! Also happy to hear things are working our well -- you can definitely get more performance rolling your own configuration. The added control gives you the ability to completely tweak and tune anything to meet you own specific needs :-).

@jtittle

I know this is old but I would like to ask if you think that switching from Apache to nginx would see that much of a performance gain.

I know you have some articles here but just wondering if you have experience with it and could give me some insight.

Thanks!!

  • @kjphilips

    Honestly, the only time I tinker with Apache is when I'm troubleshooting it :-).

    NGINX is definitely more performant, and much of the reason why is because it's not bundling in mods (as Apache does). It's handing off the request to another service, such as PHP-FPM, so it's able to handle far more traffic than Apache while using less CPU and RAM.

    I would recommend NGINX over Apache any day based on my experience with it, though there are a few trade offs to be aware of. Nothing that you can't work with, though it's important to be aware.

    1). NGINX does not support .htaccess; all rewrites are done in the server block. For anything that does not work with the standard try_files rule, you'd have to convert Apache rewrites to NGINX.

    2). You're adding another service to the mix -- PHP-FPM. Unlike mod_php which does not really have any configuration options, PHP-FPM does and they can and will affect performance. You'd need to tune it as you would NGINX and figure out what works best. I can provide some of my own configuration to get you started though.

    3). PHP-FPM uses pool files for configuration. Much like the NGINX configuration, these too will require some tuning so that you get the most out of the service.

    ...

    If you're willing to work on those three things, then I'd recommend NGINX any day of the week. Beyond just performance, it's simple to use for scaling -- it can be used as a proxy, load balancer, etc. And the configuration for proxying is nearly identical to load balancing, which makes things on that front super easy to manage.

    When it comes to clients I've worked with and managed outside of DigitalOcean (on my own time), I use NGINX exclusively. The most recent was moving a client that was paying over $1k a month over to cluster that now runs about $500-$600 and does 5-15m visitors a month.

Have another answer? Share your knowledge.