Today, I was working on shifting our object caching backend to Redis at NefisYemekTarifleri. And, it didn’t go well.
Here is an image that shows how backend generation time effect.
I was using single redis instance without persistent storage and the specifications (roughly) = 126G ram with 40 core with Pantheon’s redis drop-in
After realizing huge performance lost, I’ve pushed back the old battle-tested Memcached backend and everything restored and worked as expected.
The possible reasons for the performance loss
- The redis server is located under different network, which means (even the same datacenter) there is more hop for data packages
- WordPress Memcached drop-in supports splitting caching groups the different Memcache instances, which is great because “options” is the most critical caching group and, we use a dedicated instance for options.
I’m not blaming pantheon’s drop-in neighter Redis itself, both of them are great! But at the enterprise scale, there are numerous factors might affect the performance and it seems didn’t fit our infrastructure.
When the last time I’ve tried to install mcrouter by FB, it was nearly impossible to compile and confidently use on the production. It looks they improved the projects and there is a package available for god sake.
Well, there is the thing that I’ve worked on recent two days and it is not fun to dropping ~40G cached data in production 🤫