Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

.NET Framework 4.7 and StackExchange.Redis version=2.5.43.

I am only seeing this error when the cache is on the server but not when running locally with the cache running in a container on my machine.

StackExchange.Redis.RedisTimeoutException:   
'Timeout performing EXISTS (10000ms),   
next: PSETEX MyKey-f79c9cad-c265-e611-80d8-005056b35bfa,   
inst: 190,   
qu: 39996,   
qs: 176,   
aw: True,   
bw: Flushing,   
rs: DequeueResult,   
ws: Flushing,   
in: 0,   
in-pipe: 0,   
out-pipe: 528424,   
serverEndpoint: MyServer:6380,   
mc: 1/1/0,   
mgr: 9 of 10 available,   
clientName: MyClient(SE.Redis-v2.5.43.42402),   
IOCP: (Busy=0,Free=1000,Min=12,Max=1000),   
WORKER: (Busy=1,Free=2046,Min=12,Max=2047),   
v: 2.5.43.42402 (Please take a look at this article for some common client-side issues 
that can cause timeouts: https://stackexchange.github.io/StackExchange.Redis/Timeouts)'

I have tried increasing the SyncTimeout configuration to 10000 but no difference.

The out-pipe value looks quite high but I am not sure what this is an indication of, or if it is a red herring.

Any ideas what could cause this timeout? Thanks

It looks like you are hitting bottlenecks on what you are pushing out to Redis, you have 40k messages in the backlog waiting to be sent to redis, and 180 messages sent to redis awaiting a response. Looks like you're either hitting Redis really hard, or something is really badly deadlocked, or your threads are starved for compute. – slorello May 16, 2022 at 18:48

As pointed out by @slorello the high "qu" and "qs" seems to be the issue where some big payloads blocking the pipe.

Breaking the big payloads down into smaller payloads seems to stopped the timeout. I will also investigate ConnectionMultiplexer pooling as recommended here in point 10

Thanks for contributing an answer to Stack Overflow!

  • Please be sure to answer the question. Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.