Hey guys,
Hope you can help me out with an issue i have with the Redis extension.
We’re trying to move our the Cloud, using Google’s GKE platform.
One of the things we are trying to resolve is to create a persistant caching mechanism that can be shared among different pods in the cluster.
Our first attempt is to use Redis for that purpose.
This all seems to work fine, unitl we add load to the cluster, then the extension is running into timeout out on the doJoin function:
lucee.runtime.exp.RequestTimeoutException: request /index.cfm (/var/www/index.cfm) has run into a timeout (timeout: 50 seconds) and has been stopped. The thread did start 52012ms ago.
at lucee.extension.io.cache.redis.RedisCache$Storage.doJoin(RedisCache.java:602)
at lucee.extension.io.cache.redis.RedisCache.getCacheEntry(RedisCache.java:121)
at lucee.extension.io.cache.redis.RedisCache.getCacheEntry(RedisCache.java:159)
at lucee.extension.io.cache.redis.CacheSupport.getValue(CacheSupport.java:103)
at lucee.runtime.functions.cache.CacheGet._call(CacheGet.java:96)
at lucee.runtime.functions.cache.CacheGet.call(CacheGet.java:42)
…
At this point we’re replacing different caching mechanism we already had in place, caching either in the Application/Server scope or in MySQL tables.
It is not uncommon for a single request to fetch between 300/400 keys from Redis.
Contents of the keys can vary between short strings, large chunks of pre-rendered html and (large) MySQL resultsets.
So we are running our Application on GKE with a Docker image based on the lucee/lucee:5.3-nginx image.
Installed the Redis Beta driver extension version 3.0.0.6-BETA.
We tried using the Google Managed Memorystore Redis service. Which is Redis 5.
But also tried to deploy a Redis 6 docker on a Google Compute VM.
Both Redis services seem to have the same problem when adding load.
Anybody experienced this type of issues with the Redis extension before?
Any help would be much appreciated.
Thanks