StackExchange / StackExchange.Redis

General purpose redis client
https://stackexchange.github.io/StackExchange.Redis/
Other
5.84k stars 1.5k forks source link

Understanding Timeout awaiting response errors #2686

Closed EmmanuelPonnudurai closed 2 months ago

EmmanuelPonnudurai commented 3 months ago

Hello. We are starting to see these errors recently on our application and trying to interpret information from this error. I went through other samples and was not able to understand the problem because there is no indication of something wrong based on the numbers presented in the error message. Can someone shed some light on what could be wrong or some areas which we should concentrate on to uncover what the problem might be?

Here is the error message,

Timeout awaiting response (outbound=1KiB, inbound=0KiB, 10671ms elapsed, timeout is 10000ms),
command=HMGET, 
next: HMGET <some_key> 
inst: 0, 
qu: 0, 
qs: 2, 
aw: False, 
bw: SpinningDown, 
rs: ReadAsync, 
ws: Idle, 
in: 0, 
in-pipe: 0, 
out-pipe: 0, 
serverEndpoint: <ip>:<port>, 
mc: 1/1/0, 
mgr: 10 of 10 available, 
clientName: <machine_name>(SE.Redis-v2.5.61.22961), 
IOCP: (
Busy=0,
Free=1000,
Min=4,
Max=1000
), 
WORKER: (
Busy=1,
Free=32766,
Min=4,
Max=32767
), 
POOL: (
Threads=11,
QueuedItems=0,
CompletedItems=32596
), 
v: 2.5.61.22961 
(Please take a look at this article for some common client-side issues that can cause timeouts: https://stackexchange.github.io/StackExchange.Redis/Timeouts)
NickCraver commented 3 months ago

How big are the keys? I see am HMGET, what's the aggregate payload being fetched here?

Also: there are a lot of goodies in newer released and more diagnostics, I'd definitely recommend upgrading.

EmmanuelPonnudurai commented 3 months ago

@NickCraver The payload size is in this case is average 550 bytes. There are some where its around 1K -2K bytes but nothing huge.

EmmanuelPonnudurai commented 2 months ago

@NickCraver We have identified the issue and its not with redis or SE redis package.

Our plan is to up the limits on load balancer and verify.

This issue can be closed now.