Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Optimal Stack for WordPress/WooCommerce
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.

Optimal Stack for WordPress/WooCommerce

tjntjn Member
edited July 2022 in General

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
  1. Pick one36 votes
    1. NGINX + FastCGI Cache
      27.78%
    2. NGINX + FastCGI Cache + Redis Object Cache
      33.33%
    3. NGINX + Redis Full Page Cache
        8.33%
    4. LiteSpeed Cache
      16.67%
    5. Different Stack Entirely
      13.89%

Comments

  • 10 visitors per hour, you don't even need optimizations or a CDN.

    Thanked by 2vyas11 Donkey
  • tjntjn Member

    @luckypenguin said:
    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 :)

  • aliletalilet Member

    I am only using Nginx + PHPFPM 7.4 for my WooCommerce site.

    Thanked by 1tjn
  • vyas11vyas11 Member
    edited July 2022

    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.

    1. @BigDongLong said:
      >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

    Thanked by 1tjn
  • BigDongLongBigDongLong Member
    edited July 2022

    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.

    Thanked by 1tjn
  • DonkeyDonkey Member

    nginx, php-fpm 8.1 with opcache, mariadb 10.6 have them behind cloudflare free plan should do the magic.

    Thanked by 1tjn
  • ericlsericls Member, Patron Provider

    Full page cache would be the fastest, but how often are the pages updated?

    Thanked by 1tjn
  • HxxxHxxx Member
    edited July 2022

    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

    Thanked by 1tjn
  • ericlsericls Member, Patron Provider

    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.

    Thanked by 1tjn
  • tjntjn Member

    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!

    Thanked by 1Hxxx
  • noamannoaman Member

    @tjn said:
    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.

  • noamannoaman Member

    @Hxxx said:

    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

    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.

    Thanked by 1Hxxx
  • HxxxHxxx Member
    edited July 2022

    @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.

    Thanked by 1tjn
  • vyas11vyas11 Member

    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.

  • tjntjn Member

    @Hxxx said:
    @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.

    Not budget conscious in this case :smile:
    Litespeed's "Site Owner" packages seem quite affordable actually - I'll definitely look into it!

    @vyas11 said:
    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/

    I was just coming here to post this! Seems like some of the fastest are using LiteSpeed!

  • atomiatomi Member

    @vyas11 said:
    p.s: Webinoly practically does all the setup that you mentioned (LEMP + Redis and / or FastCGI)

    Centminmod (by @eva2000) does a lot of LEMP+WP+Redis and system magic to make things go really fast

  • HxxxHxxx Member

    @eva2000 Centminmod easily could rival LiteSpeed if not surpasses it. Is very magically crafted, to the detail.

  • tjntjn Member

    If only we could convince @eva2000 to switch to debian :p

  • verovero Member, Host Rep

    @tjn said:

    @Hxxx said:
    @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.

    Not budget conscious in this case :smile:
    Litespeed's "Site Owner" packages seem quite affordable actually - I'll definitely look into it!

    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.

  • eva2000eva2000 Veteran
    edited July 2022

    @atomi said: Centminmod (by @eva2000) does a lot of LEMP+WP+Redis and system magic to make things go really fast

    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.

    @Hxxx said: @eva2000 Centminmod easily could rival LiteSpeed if not surpasses it. Is very magically crafted, to the detail.

    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

    @tjn said: If only we could convince @eva2000 to switch to debian

    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/

    Thanked by 2tjn _MS_
Sign In or Register to comment.