Jesús Sáinz
Jesús Sáinz

Reputation: 21

How to solver Redis.TimeoutError on redis cache

I am getting this error when using redis cache.

Error when process leagues pools StackExchange.Redis.RedisTimeoutException: Timeout awaiting response (outbound=38854KiB, inbound=0KiB, 5187ms elapsed, timeout is 5000ms), command=GET, next: GET ConfigLeagueModelKey, inst: 0, qu: 0, qs: 1, aw: False, rs: ReadAsync, ws: Idle, in: 65536, serverEndpoint: XXXX-redis-cache.redis.cache.windows.net:6380, mc: 1/1/0, mgr: 10 of 10 available, clientName: XXXXX, IOCP: (Busy=1,Free=999,Min=1,Max=1000), WORKER: (Busy=3,Free=679,Min=1,Max=682), v: 2.2.62.27853

The strange thing is that when I use the cache normally It works perfectly but when I use it on an Azure WebJob is when I get this problem. I have been searching for a solution and still found nothing so I would appreciate any help.

I also have to mention that this started happening suddenly, previously It worked perfectly

Thanks for your time

Upvotes: 2

Views: 5718

Answers (1)

JonCole
JonCole

Reputation: 3122

Looking at your error message, you have two things that jump out at me:

  1. The in: 65536 part of the error means that you have a lot of data sent by the server that is sitting in your local socket's buffer waiting for your app to read that data. This usually indicates that you a performance problem in your app: for example high/spiking CPU bursts or memory pressure that is causing memory paging.

  2. The WORKER: (Busy=3,Free=679,Min=1,Max=682) part indicates that your Threadpool settings need to be adjusted. Whenever "busy" is bigger than "Min", you are going to experience delays in processing responses because the threadpool throttles how quickly it creates new threads when busy.

See this article for more details on both these issues.

Upvotes: 2

Related Questions