New on LowEndTalk? Please Register and read our Community Rules.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
Optimal Stack for WordPress/WooCommerce
I've been building and hosting WordPress/WooCommerce sites for a long time now, and every so often I have a look at what the "most optimal stack" for running my sites is.
As of late, I've been pretty happy with PHP7.4 + NGINX + FastCGI Cache + Redis Object Cache with CF and/or Bunny. Typically hosted on a 2vcore (AMD) 2GB VPS (like a CPX11 from Hetzner), with one site per VM.
The average site gets ~10k visitors/month and has a couple of hundred WooCommerce products.
I thought I'd check in and see what everyone is using/recommending these days?
What is your favourite stack for WordPress/WooCommerce
- Pick one36 votes
- NGINX + FastCGI Cache27.78%
- NGINX + FastCGI Cache + Redis Object Cache33.33%
- NGINX + Redis Full Page Cache  8.33%
- LiteSpeed Cache16.67%
- Different Stack Entirely13.89%
Comments
10 visitors per hour, you don't even need optimizations or a CDN.
Lol not quite, the sites will get decent traffic when a newsletter goes out, or a new blog post is published for example.
I should have mentioned 10k unique - so there's enough repeat traffic
I am only using Nginx + PHPFPM 7.4 for my WooCommerce site.
I do not see the point of using a PHP Version that EOL's in November this year.
I am sure there are reasons for choosing that version (theme/script/plugin compatibility) but that's not what I would do.
p.s: Webinoly practically does all the setup that you mentioned (LEMP + Redis and / or FastCGI)
Edit:
1.
Original post updated. I had mis-read.
>25% are probably bots.
Hm I get between 12 and 15 percent when I compare to GA, but then that's because my settings only allow select bots on CF
I'm running a WordPress site that uses parts of WooCommerce with 100k+ unique visitors a month (averaging ~8k/day as of right now) on an AMD EPYC 7763 6C 12G server with OLS, PHP8.0, and Redis. The CPU usage hovers around ~20% but hardly ever goes above 40%. Also if you're checking unique visitors on CloudFlare, 25% are probably bots. With only 10k/month I don't think you need to do anything.
nginx, php-fpm 8.1 with opcache, mariadb 10.6 have them behind cloudflare free plan should do the magic.
Full page cache would be the fastest, but how often are the pages updated?
In the case of WP the trick is to do caching, but you already know that.
I'm here to tell you that even though you got the right stack, do caching already, there is always something dynamic somewhere in WordPress.
As you keep adding plugins , due to how WP works, it keeps slowing down , (there is a plugin that you can use to disable hooks and shit that get's executed always even if the action is not related to that plugin for certain events).
Anyway the most important part is always to have a powerful hosting. You can do the best optimization practices in the industry and still get shitty performance as soon as it gets to do something dynamic. Make sure you have plenty of cores and RAM. Sometimes vCores in VM's are shit enough that even a shared hosting premium can run circles around it.
To answer:
LiteSpeed (if your provider have it) with LSCache plugin
OR
Apache with Nginx reverse proxy (in front of apache) + MariaDB + Caching (W3 Total Cache, the most advance caching plugin for WP in my opinion) + Optional Cloudflare free (more effective the paid Cloudflare with all the cool toy's they offer)
Both with PHP 7.4 or 8
If the content doesn't change often, caching before even reaching PHP or database would be the way to go, it's basically using WordPress as a static site generator.
Thanks all, I know it was a super generic question.
I just wanted to see if I was missing something and how many would recommend LiteSpeed (with all its controversies). I have a few "heavier" (40-70k/month) websites I might test with OLS.
@BigDongLong @vyas11 GA to look at bots.
@ericls homepage and certain product pages probably get updated daily or every other day depending on the season etc... Already using a static generator on a few.
@Hxxx I'm going to have a play with OLS and LSCache!
Review this
https://loader.io/reports/6b91ea42bf6582873aa7d24a0409887f/results/d9d291021972964d314bb46a72fab357
A blank wordpress install with version 6.0 and I was able to get this amount of performance using just Nginx + FastCGI Tweaking. I did put fastcgi cache path in ramdisk though.
LiteSpeed with LS Cache would definitely increase a lot of performance but I still like nginx as most people ( like me) find it easier to configure.
@tjn i think litespeed (commercial) is better than the openlitespeed. Just better compatibility all around. If you are very budget conscious, try finding a shared hosting provider that is premium (top notch) , they usually have Litespeed, which by default works with LSCache plugin. Benchmark it, should be fun to see the results.
Check out the Annual WordPress hosting survey. If the top providers stack information is available, you have a baseline.
>
Pretty comprehensive, much discussed (and commented upon/ maligned) in the WP hosting community
https://wphostingbenchmarks.com/
Some usual names here - Clourways, GD, Siteground... but some new ones I came across too.
Not budget conscious in this case
Litespeed's "Site Owner" packages seem quite affordable actually - I'll definitely look into it!
I was just coming here to post this! Seems like some of the fastest are using LiteSpeed!
Centminmod (by @eva2000) does a lot of LEMP+WP+Redis and system magic to make things go really fast
@eva2000 Centminmod easily could rival LiteSpeed if not surpasses it. Is very magically crafted, to the detail.
If only we could convince @eva2000 to switch to debian
LiteSpeed Enterprise for server with 2GB RAM and one domain is free. I don't use servers with specs that low for hosting, but I use LiteSpeed and comparing with not optimized Apache, it's perceptibly faster. LiteSpeed is not necessarily the best solution in every scenario, but you get decent performance straight out the box, without any tuning.
It is. Though fastest isn't even with Redis Nginx level caching on Nginx side. Key is to deploying a caching method that does pre-compress cached resources like Cache Enabler plugin in non-default advanced caching offload method to Nginx or as I found out Super Cache has come along way and does that too - pre-compress cached resources as you can then utilise Nginx's optional gzip_static directive https://nginx.org/en/docs/http/ngx_http_gzip_static_module.html#gzip_static and get performance that's even faster than PHP-FPM fastcgi_caching Try it and see for yourself! Litespeed web server already has such built-in small file caching natively <4K file size. If you're testing Litespeed vs Nginx try also testing files >4K i.e. images.
For latency yes, for throughput requests/s Litespeed's LSAPI PHP would have the advantage over the limitations of PHP-FPM as it isn't as tightly integrated with Nginx as LSAPI PHP is with Litespeed. Litespeed 5.4+ is way faster than Litespeed 5.3 so when you look at benchmarks pay attention to version used to compare.
But these days difference isn't much for cached pages if you have Cloudflare properly optimized and configured in front of your web server - which you want for anycast DNS/CDN performance. My Centmin Mod Wordpress blog on $5 month KVM VPS handles 5000 user loader.io test with average latency of 60ms for 2.3 million requests! Due to Cloudflare CDN, I'd get close to that performance regardless of geographical location.
It seem Litespeed Cache WP plugin seems to prompt to turn off Cloudflare caching for conflicts? So things might even out. But for cache miss/logged in user performance Litespeed's LSAPI PHP handler will have the edge over Nginx's usage of PHP-FPM. Woocommerce is a different workload due to amount of logged in users. You can see it's poorer performance in Kinsta's PHP 8.1 benchmarks at https://kinsta.com/blog/php-benchmarks/
Woocommerce benchmarks at https://kinsta.com/blog/php-benchmarks/#wordpress-59rc2--woocommerce-611 versus 3x faster Easy Digital Downloads https://kinsta.com/blog/php-benchmarks/#wordpress-59rc2--easy-digital-downloads-21141 for non-cached benchmarks
Heh Centmin Mod is CentOS 7 for now with EL8/EL9 to come https://community.centminmod.com/threads/centmin-mod-centos-8-compatibility-worklog.18372/. Preview https://community.centminmod.com/threads/alma-linux-8-5-centmin-mod-test-installation-details.22575/