• msdanixu

    (@msdanixu)


    Hello,

    From a long time the Redis Cluster is a perfect solution to get ride the limits of a single instance. I have overcome the MemoryStore performance by 240% just with three Redis Cluster nodes, even when they are limited to 0.7 CPU.

    PHPRedis is compatible with the RedisCluster from a long time ago too, but I have noticed that looks like the W3TC is not implementing it in any way.

    Would be nice to have redis cluster support to increase the performance limit of the plugin. For example, now I’m using the plugin on my site and I can’t activate the Objects Cache and the Fragments Cache because when I do it, the redis collapses. I can use envoy to make it compatible, but I need 10 instances of envoy to manage the requests required to fully use 3 Redis Cluster instances, and I think that would be better to have 5 Redis Cluster instances with 5 slaves instead.

    Best regards

Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Contributor Marko Vasiljevic

    (@vmarko)

    Hello @msdanixu

    Thank you for reaching out and I am happy to help!
    Multiple servers may be used and separated with comma;
    For example: 192.168.1.100:11211, domain.com:22122

    Does this work for you?

    Thanks!

    Thread Starter msdanixu

    (@msdanixu)

    Hello, sorry, I was busy doing tests.

    I don’t know how it really works, but I suppose that to use several instances the plugin creates a copy in every instance and then LB the read request, right?. Normally to split the writes between the nodes requires of hashing to determine the correct node, and I don’t think that the plugin will do that.

    That will not be the best approach, because the Write RPS will not be increased. In common scenarios this is not a problem because the Cache is supposed to be most of the time reading, but I am having weirds problems with W3TC that makes a lot of write requests to the Redis instance. After some time the redis instance starts to get a lot of reads and writes until all the WordPress instances are restarted (GKE deployment).

    We are not sure about the reason (we suspect about the WooCommerce combination with W3TC), so the only we can do for now is to increase the RPS capacity of the instance. The threading in redis doesn’t increases too much the capacity, so the best is to use clustering which increase the capacity much more.

    The PHP module is compatible and I can configure the sessions to use the cluster, but the W3TC plugin has not implemented the cluster usage.

    Best regards.

    • This reply was modified 1 month ago by msdanixu.
    • This reply was modified 1 month ago by msdanixu.
    Plugin Contributor Marko Vasiljevic

    (@vmarko)

    Hello @msdanixu

    Thank you for your feedback.
    I’ve shared this to the team and we are checking this making sure that everything is covered.
    I’ll make sure to get back to you once I have more information.

    Just to confirm, have you tried using multiple servers as suggested in the previous post?

    Thanks!

    Thread Starter msdanixu

    (@msdanixu)

    Hello,

    Sorry for late response, but is a production environment and I have to do the tests with care. I’ll need some time because the problem is triggered randomly (can be 5 minutes or 8 hours after configuring the settings, who knows). Also I have to wait a week to continue testing, so I’ll keep this open until the tests are done.

    Best regards.

    Thread Starter msdanixu

    (@msdanixu)

    For now it’s working, but I have noticed that there is no improvement in to use two servers. The CPU usage is the same but instead in one, in both. Also the keys are stored in both, so the writes are duplicated and the memory usage too, instead of to shard it.

    I still thinking that to have Cluster support will improve the performance much more.

    Best regards.

    • This reply was modified 1 week, 1 day ago by msdanixu.
Viewing 5 replies - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.