nsgoyat Thanks so much for your details instruction on this post and on other posts.
I did not found 405 error on my site, maybe because they upgrade Wp-rocket.
But, I agree with you that --wprocket does not work well with Woocommerce.
As to Satellite NGINX Configuration, I have not test it, but it is not much more efficient to duplicate wordpress sites, since it requrie to configure Nginx one by one manually after duplicate or migrate.
I read and study a lot upon cache.
Especially, great thanks for the post below:
https://community.wordops.net/d/167-should-we-remove-redis-object-cache-plugin
https://community.wordops.net/d/630-how-can-i-optimally-handle-caching/3
https://community.wordops.net/d/667-is-there-an-optimized-setting-of-nginx-fasgcgi-caching-for-woocommerce/2
https://community.wordops.net/d/630-how-can-i-optimally-handle-caching/10
I decide to use --wpfc + rocket optimiaztion, but disable wp-rocket cache by this plugin:https://docs.wp-rocket.me/article/61-disable-page-caching
Reasons or my analysis as below:
Basic cache knowledge: difference between object cache and page cache:
https://wp-rocket.me/blog/object-caching-use-wordpress/
1# --wpredis is even much better than Wp-rocket, or --wpredis=redis full page cache+redis object cache=Wprocket+redis object cache
Please refer to the message below from @virtualbox at https://community.wordops.net/d/167-should-we-remove-redis-object-cache-plugin/9
VirtuBox With the flag --wpredis, WordOps install redis (if not already installed) and configure Nginx to use redis as full-page cache backend. Additionally, it install redis-object-cache plugin to let Redis handle Wordpress object-cache.
But if you don't enable or if you remove redis-object-cache plugin, your site will only use full-page cache in redis.
Wp-rocket officially suggest quite similliar solution at https://wp-rocket.me/blog/redis-object-caching/, but it seems quite complicated to configuraion.
2# Redis object cache is great, but it not better than Nginx fastcgi_cache, here are stress reports:
https://spinupwp.com/page-caching-varnish-vs-nginx-fastcgi-cache-2018/
and also stress test report from WP-rocket:
https://wp-rocket.me/blog/nginx-caching-for-wordpress/
Also, Redis object require more memory. and here is great summary from @VirtuBox:
https://community.wordops.net/d/167-should-we-remove-redis-object-cache-plugin/4
VirtuBox t's pretty simple, on a single server I prefer to use Nginx fastcgi_cache but when I work on high-availability infrastructure I use Redis Full-page cache only because a single redis instance can be used to store full-page cache between multiple nodes.
I do not use Redis-object-cache at all, mostly because I never noticed performance improvements in WordPress backend with this extension, but I often faced issues with another plugin (VisualComposer for example) or redis resources usage was very high on sites with multiple author writing articles at the same time.
Then on very high-traffic sites, I often use WP-Rocket with Nginx fastcgi_cache to decrease server load by using to layer of cache.
3# The advantage of redis cache seems redundant systems (or parralled system?)
VirtuBox Unicom3000 Redis-object-cache does not improve directly site performance, but it can improve WordPress backend performance.
Then the main difference between Fastcgi_cache and Redis Full-page cache (fastcgi_cache is also a full-page cache solution) is you cannot use fastcgi_cache with redundant systems, because it would require to share fastcgi_cache path between all servers.
and @jond1 shared his solution again and again on how to use redis(he saidy he will share his experience upon cluster server setting up, but he still does not post his detailed expericence yet upon, we really expect:
4# What is Wp-rocket?
Usually, we expect much more positive result from a a commercial plugin. but what is Wp-rocket cache?
Wp-rocket is actually Redis full page cache, yes, they use redis object cache tech for full page cache, here is Wp-rocket official post at https://wp-rocket.me/blog/redis-full-page-cache-vs-nginx-fastcgi/:
It uses Redis’ maxmemory #mb and maxmemory-policy allkeys-lru directives to ensure that the server utilizes its limited volatile memory efficiently by removing older cached pages to make room for fresh ones.
5#Golden rules:
At last, here is quite great conclution from @portofacil at https://community.wordops.net/d/630-how-can-i-optimally-handle-caching/2
portofacil But I have some "golden rules" for my own sites:
Avoid plugins, just install them if you can't live without their functionality.
WO does a great job on optimizing caches: do not install extra plugins for this matter.
If you need to minify JS and CSS, use Autoptimize.
Try the plugin Flying Scripts to speed up loading, but it requires extra care because it can break things.
That's it.
6# Optimization:
but, we always need optimize css + JS files, before I use merge-minify-refresh
(https://wordpress.org/plugins/merge-minify-refresh/), but not use autoptimze, because autoptmize caused white page sometimes.
I will disable WP-rocket cache, but it provide some other great featues below:
Minify HTML
Remove query strings from static resources
Minify CSS files
Optimize CSS delivery
Minify JavaScript files
Combine JavaScript files
Load JavaScript deferred
This is my study, and it would be great if anyone would like to share your study and experience.
And thanks so much for Wordops commnunity.