Which CPU for fast Wordpress server? (Threadripper or Epyc)

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

BobTB

Member
Jul 19, 2019
81
19
8
I have an older (Dual Xeon X5670 ) setup from which I am running some web sites, and now I want to get something new.

I am looing at Epyc vs Threadripper mainboards to replace this old one and keep the case and drives I have now. TR has so much higher clock that I do not believe memory bandwidth can make Epyc in this case any faster.

Or does it? Anyone tried or actually use something like that? Does it make more sense to go with Epyc CPU (24 core)P model Rome as I will be using it for cca. 5-6 VMs with 24 or 32Gb RAM each. Is the php/sql memory bandwidth or CPU limited...
 

vladimir.mijatovic

New Member
Jan 12, 2019
27
15
3
This is our guideline for picking up a "php" cpu

A week from now, I'd get a new ryzen 5900/5950x. A no brainer.

But for a really fast wordpress site if cached content is an option, cache will take you much further.
 
  • Like
Reactions: MrGuvernment

BobTB

Member
Jul 19, 2019
81
19
8
It took me a while to read all the info on your page you linked. Great stuff. Thank you!
 

amalurk

Active Member
Dec 16, 2016
311
116
43
102
Higher frequency CPU is better for busy frontend webservers but unless your WordPress content is changing frequently it isn't a good bang for your buck. When your content infrequently changes cache responses and preloading a cache will be able to serve essentially all responses. So for a standard non-Woocommerce Wordpress site your server speed is NOT that big a deal. You are better off with a global CDN page cache or using a Cloudflare worker or their business plan to serve page cache responses globally then you are spending more on your server.

If on other hand you have a busy Woocommerce store, yeah a high freq CPU will be better but you better know what you are doing managing it yourself or you will kill any conversion gains you get from your expensive speedy server that has less bounce with your silly config errors, downtime, and other problems you will have.

It is easy to go overkill with your own server to colocate and spend several times what you need under any realistic scenario. And if your traffic increases so much that you need that fancy server, well, you will rolling in the cash and at that point it won't be a big deal to upgrade again either. So what I am saying is don't be dumb and drop $5k on a server for a mostly static informational WordPress site which people read the content and maybe leave a comment and then leave that gets only a few hundred thousand pageviews a month.
 

BobTB

Member
Jul 19, 2019
81
19
8
Actually what I have here is more of a shared hosting situation, perhaps 3 or 4 sites with higher traffic and then some 150 or so of almost no traffic sites that just have to work + 500 or so mailboxes (with IMAP). All of this on 3 VMs. Surprisingly, as you said, even my current CPU is not so slow at this task. I am just afraid it is a "little" old, running now for quite some years. Amalruk, thank you for advice, will think about what you said.
 

vladimir.mijatovic

New Member
Jan 12, 2019
27
15
3
I agree with @amalurk that in cases of serving static Wordpress pages you do not need your own server.
That is why Cloudflare is willing to serve your static HTML pages real quick globally for a small amount of money. They are basically saying "You keep your sluggish, bloated, unoptimal code on your server. We'll take only the cream from the top of a ready made cake."
A definition of a #leancompany :)

But it is certainly a good solution for a lot of cases where final pages are a static content. Even more if they are globally oriented. Maybe most "We have 1-5 webpages" companies should take something like that if their site is making them money.


But as you are hosting 100+ sites and want them running well, here's my take:

1) You can not buy a strong-enough CPU that will run un-cached Wordpress really fast. We have an i9-9900K for a compute unit and it takes 0.5-1.5sec TTFB on a Wordpress/Elementor site.

2) Bare metal PHP is ~10-15% faster than Linux LXC. PHP in KVM/VM is probably another step down that ladder.

3) So if you wanna provide fast Wordpress, you have to use CACHE.

It is fascinating how Wordpress is becoming a global standard CMS while telling everybody that cache is (the only) way to go if you want it to be a decent UX.

3a) As @amalurk suggested - something like Cloudflare APO solution could be good for clients that need it. It will be $5/month/domain for "speeding it up" + you still need hosting server.

3b) A self-hosted server with FastCGI on NVMe is able to serve ~1000reqs/sec on 4 vCPU cores of a decent CPU (as presented in my test). In pure math. that translates to 86.4mio reqs/day.
This post is our real-case example of improvements utilising FastCGI. It's in Slovenian (like Melania), but benchmark results are easily understandable
Kako smo s FastCGI Cache bistveno izboljšali hitrost nalaganja Wordpress strani (Slovenia-trips.com) / Projects - Klik-MALL.com
That "before change" avg. 1.55 sec is non-cached result on i9-9900K. You can double that for most hostings.
0.37sec "after" can be achieved on much slower CPUs.

I'd go that far to say that with a good FastCGI setup you can tell your 100+ clients they do not need premium cache-ing solutions like Cloudflare APO or WP Rocket. If your bandwidth can take it they are mostly regional oriented, this will do more than fine.
CDN or Cloudflare DNS with free CDN cache of static files would be beneficiary. That is what we did with Slotrips travel agency | Authentic Hiking, Walking & Biking Trips in Slovenia

4) If you wanna take another step further into premium wordpress service - set fastCGI, opCache and WP object cache on Redis for all clients on a shared host. They are complementary solutions. For 100+ domains it takes some resources to pull it off (if you are thinking in terms of cloud pricing and VPS-es). But for self-hosted if you are thinking Threadripper-type of a setup I think it makes a lot sense.
I am just finalizing a Managed Wordpress hosting product like this and it looks like it will be a top-notch setup with UX significantly better on front-end for visitors and also for non-cached admin part.


This is only a part of what it takes to provide solid hosting (backups, redundancy...). But if you want to run Wordpress hosting by yourself and want to provide clients with extra-mile service, this will take you very far on that path.
 

Patrick

Administrator
Staff member
Dec 21, 2010
12,511
5,792
113
STH is pretty static, and the forums are not that bad either. I can tell you that I do not worry about CPUs for our hosting. We are still using EPYC 7001 series "Naples" for most of our hosting nodes at this point.

On the hardware side here is what we basically do:
1. Overbuild to have extra capacity. This greatly reduces issues when something bad happens.
2. Lots of RAM. While STH does not use a ton of CPU, we do so much caching that we use a ton of RAM.
3. Optane for DB storage. This is going to seem strange, but for things that are not cached, using Optane 900p/ 905p drives is just awesome. It may not impact 99% of the page views, but the tail latency we see is awesome. For years, my mantra has been to just use Optane.
4. Backups on their own server with fast networking. We found backup jobs were causing noticeable impacts to page loads because of the network traffic a few years ago.

The one reason I would go EPYC is just to get newer hardware. A Xeon 5600 series machine is likely 9-10 years old at this point. Xeon E5 V1 came out in Q1 2012 if I am remembering that right. At some point, I just worry that a capacitor will die or something like that. We even once had a NIC where the plastic heatsink retention clip on a 10Gbase-T NIC failed and cause smoke https://www.servethehome.com/spectacular-hardware-failure-sth-demoeval-lab-2016/ - we also were hit in the hosting cluster by the AVR54 bug in the Atom C2000 series. The older servers get, the more you tend to see these types of issues.

My guess is that a single socket AMD EPYC 7002 CPU is going to be plenty fast (P-series.) You may even get lower power consumption by going to single socket and using NVMe storage.
 
  • Like
Reactions: MrGuvernment

vladimir.mijatovic

New Member
Jan 12, 2019
27
15
3
@Patrick I totally agree on this: cache is the fastest thing you can do to speed up your site. And that Optane is great.

We decided to save FastNGINX full page cache files on Optane or ZFS that has Optane for L2ARC, so most of NGINX cache checks hit RAM or Optane. They are almost instant (I did a couple of tests where many of them showed "0 ms server response time").

Made a quick picture of a Chrome Lighthouse performance test on a page where cache is served from Optane (not ZFS/RAM/L2ARC).
100% perf. score can depend on a lot of things (pics, videos, css, js...) independent of server hosting (hardware, setup...). Wordpress editor will have his chance to ruin this as soon as posts, pics, plugins, heavy templates... come into play.

But server response time is pretty much the number that reflects server capabilities and setup. Most tests were intra-LAN, but some were offsite, though same city, same ISP. Bottom line is - server response is not a bottleneck when cache hits the fan. And this is on an E5-2690 v1 prod. server running other stuff. Also to note - this is on a Proxmox LXC unprivileged container - this sure does not help in comparison to base metal nor for CPU, even less for storage IO.

You may argue that Cloudflare workers will serve it a bit faster on the other side of the world, but I do not think it's worth the complexity if you have a setup like this.

I assume STH home page and 980 PRO review are served from cache and I get~400-650ms TTFB in Slovenia/Europe. I've always considered STH to be a fast site. I'm sure that in US people get faster responses as they are closer to servers. But I'd say everything close to 500ms TTFB feels fast enough.

2020-11-02-wp1-Lighthouse-performance-test-0ms-server-response-time-FPC-cache-hit.jpg


That said, I monitored CPU utilisation of an average Wordpress/Elementor site. If there is no cache, it bumps up CPUs a lot. So if you are specing your own server and want to be ready for potential cases where full page cache is not available or possible (admin, cart, invoices, real-time reports...) you will miss a fast CPU and wonder why i9-9900K can not make a common Wordpress site "feel fast".

In my experience Sandy Bridge CPUs and newer are good enough if your software/application setup is optimized. I do not think any CPU can make a semi-plugins-heavy Wordpress/magento... site really fast in an uncached form.

I'd also choose Optane and a mid-range CPU than spend it all on Threadripper 3970x, 88xx platinum... A single 480GB Optane has opened a lots of options for us (DB, FPC, L2ARC, ZIL...).

"Hardware credits" for leading to "0ms" go to STH, Allyn and Wendell.
 
  • Like
Reactions: Patrick