WP Nginx Helper: is fastCGI + Redis relevant?


#1

hello dear community Thank you (thank who?) for WP Nginx Helper plugin. It works like a charm for fastCGI.

I would like to know why WP Nginx Helper do not offer the option to purge both fastCGI and Redis. It can do one or another, but I have to switch manually to do the other.

Is there a reason beyond my knowledge? Redis and fastCGI are absolutely not the same thing and they do not cache the same things at all. And why does WP Nginx Helper offers to purge Redis in the first place?

thanks for enlightening my concerns :slight_smile:


#2

Here https://easyengine.io/blog/easyengine-3-3-full-page-redis-cache/

there is no need for Fastcgi cache as When you install --wpredis it automatically support full page cache

here to clear your confusion Does EasyEngine --wpredis add both NGINX HTTP Cache and Redis Full Page Cache?

As per @portofacil

The “REDIS-Cache” plugin creates page cache entries in REDIS; Nginx consumes these entries from REDIS, serving them directly as any other cache.


#3

OOOooooohhh I understand we are both confused here :slight_smile:

I do not use EasyEngine for you just made me discover it. I installed and configured WP and nginx + fastCGI myself, manually. I didn’t know your plugin had to be paired with an EE install. Anyway it works that way as well.

The reason I was asking about Redis vs fastCGI in the first place is because I’m writing a thorough post about that saying that Redis cannot make your site faster than fastCGI since it relies on PHP processing and fastCGI is about serving memory cached static pages.

I see on this page that

Blockquote With this new method some benchmarks we done using loader.io and it showed 3-4x improvement over fastcgi-cache.

Where is the test result?


#4

it true and make sense only when You doing Redis object cache You can Look what i wrote

The “REDIS-Cache” plugin creates page cache entries in REDIS; Nginx consumes these entries from REDIS, serving them directly as any other cache.

Nginx consumes these entries so it static rather than dynamic and it doesn’t need php processing once it taken by nginx and nginx Serve it as static to visitor as whole process doen on nginx level php never triger

And Post tittle Simply Says REDIS FULL PAGE CACHE Not REDIS Objec Cache That is why it Perform better than FastCGi cache


#5

and You didn’t read The Full post a part from it

How Redis Full Page Caching Works without WordPress/PHP?

We are using a third-party nginx module for subrequest based caching.

Here is out it works in general – https://github.com/openresty/srcache-nginx-module#description

And here is redis part – https://github.com/openresty/srcache-nginx-module#caching-with-redis

The whole readme is worth reading.

This was on the list for a long time but we did not manage to have enough time and resources to dedicate towards it. As with any new feature, it needs a lot of time in testing, tweaking and playing around before it can be made “easy”.


#6

Thank you for all these information. I read, and I ran tests with loaderIio. With Redis Object Cache plugin, without, with fastCGI, then with the Redis full page cache plugin. I ran free tests with 250, 1000 then 10,000 requests/minute.

Turns out, Object cache produces the worst CPU overhead, it’s better not to use any cache at all. The Redis full page cache plugin gives the same results as with fastCGI, plus some CPU overhead. Maybe it’s because I’m using a tiny server, and also 10,000 requests may be not a relevant test for comparison. Access times really are close and randomly different. Maybe the free loaderIo option means that results can be affected by noisy neighbors? who knows. Conclusion: using both is irrelevant, as they do the same job when using the plugin you mentioned. Plus, using Redis induces more CPU overhead than fastCGI for the same results. At least on a t2.micro instance. So thank you for helping me answer the question myself!!


#7