A few days ago we moved our site from Liquid Web to our new FireupWP and WPCloudDeploy project platform. This new platform allows us to use dedicated cloud VMs from places like Digital Ocean, Linode and Vultr. We pay the cost of the VMs with no markup which provides huge savings over regular hosts.
We moved from an 8-core virtual machine running on an Intel Xeon E5-2620v4 (2.1 / 3.0 Ghz) to a 2-core Dedicated High Frequency VM with 4 GB of RAM at Linode.
Yes, you read that right. From eight cores to two cores.
Even we were surprised by the results.
Initially the drastic reduction in cores was only going to be our starting point and we fully planned to scale up the server to at least 4 cores. But we quickly realized that 2 dedicated cores was more than enough.
Check out this chart:
That’s the CPU usage as reported by Linode within the first few hours of the move.
The first part of the chart with all the large spikes is when we were importing the site, doing a ton of backups and such. After that, the cpu usage fell to below 100% (200% is the highest level since there are 2 CPUs). The average CPU load is about 30%.
By our own subjective measures, performance was far far better that what we were dealing with before – the Linode CPU chart just served to confirm our impressions.
So, of course you’re asking, what kind of tweaks did we apply?
The short answer is – not much at all. Really.
We still have our proxy service and we’re still using the same caching plugin that we always used (instead of the WPCloudDeploy nginx cache). The improvement in performance is almost all because we’re running the thing on a dedicated VM with dedicated cores.
We thought that the cpu cores were some sort of high-frequency cores but when we checked they were running around 2Ghz. (We suspect that if we moved the server to Vultr’s High Frequency cores, performance would be even better.)
We used the default WPCloudDeploy stack which is a standard, well-known and tuned WP LEMP stack, turned on the so-called “6G” fire wall to filter out some bad traffic at the Nginx web server level and boom – certain long-running website tasks that sometimes took 20 seconds were now taking 5 seconds.
We ran some brute-force performance tests to see what it would take to make the server fall over. It turns out that the number of users that the server can comfortably handle is in the hundreds. You can read more about the results of these tests on fireupwp.com.
Our home page (and most other pages) should load a lot faster now for users that aren’t logged in.
As we continue optimization – mostly working on our proxy service to stop bot traffic before it hits the server, performance should continue to get incrementally better! And, if we move to PHP 7.4 from 7.2, we’ll likely get some more incremental performance benefits as well.
Did you find this article useful? Or do you use Simple:Press today? If so, please support Simple:Press with a review on WordPress.org. Every review goes a long way towards bringing other users on board!
More From Simple:Press
We are very happy to announce the formal, Gold release of Simple:Press Forum V4.0.0! After several months of serious coding and testing, we feel our baby is ready for release. You can get the new version on our downloads page. We really think you will like what has been added since V3.x! Simple:Press is a…Read More
While not a tool that all forum administrators will choose to make use of for those that do the Admin Bar has undergone quite a transformation in Version 4. If you need to read every new post (as we do on our support forum) or use moderation, the Admin Bar is the most useful tool.…Read More
We are about to put Beta 3 of Simple:Press Forum Version 4.0 up for download. This mainly – as expected – fixes up the bugs and problems encountered and reported to date. If you found an error it would be appreciated if you could take Beta 3 for a spin and determine if your problem…Read More
Today sees the release of Beta 2. This includes many bug fixes and problem resolutions that have been raised on the V4 Beta support forum. If you raised a problem and wish to know if Beta 2 contains the fix – visit the thread on the forum and look at the topic status. It will…Read More