Timeout from Redis Client
Hi all,
I am using StackExchange.Redis.Exstenssions.core with conn pool my application is traffic is about 200K calls every 5 minutes coming from 12 servers ~55 calls a second from each server. i am doing 2 basic things : cache health every 5 second and applicative actions on the cache. It does not matter - every think i am doing ( with conn pool with thread pool and withet 0 i am getting timeout from the client and it is not reaching Redis ( slowlog is quiet empty )
I tried to increase conn pool to 50-100 - didnt help tried to increase thread pool to 50-100 it took a lot CPU of the server -reach 100% and didnt work.
few examples
- inst: 2, qu: 0, qs: 10, aw: False, rs: ReadAsync, ws: Idle, in: 0, in-pipe: 0, out-pipe: 6320, serverEndpoint: redis-18477.rediscluster:18477, mc: 1/1/0, mgr: 10 of 10 available, clientName: DUUB-SRV-01, IOCP: (Busy=11,Free=989,Min=30,Max=1000), WORKER: (Busy=1,Free=32766,Min=30,Max=32767), v: 2.2.50.36290
- Timeout performing UNLINK (1000ms), next: GET Bingo.Customer.Business.CachedEntities.IPFailedLogins|1|81.158.255.187, inst: 13, qu: 0, qs: 39, aw: False, rs: ReadAsync, ws: Idle, in: 255, in-pipe: 0, out-pipe: 24068, serverEndpoint: redis-18477.rediscluster.local:18477, mc: 1/1/0, mgr: 10 of 10 available, clientName: DUUB-SRV-04, IOCP: (Busy=65,Free=935,Min=30,Max=1000), WORKER: (Busy=10,Free=32757,Min=30,Max=32767), v: 2.2.50.36290
- Timeout performing SET (1000ms), next: SET Bingo.Game.Entities.GigaSpaces.BingoGameServerDataSpaceEntity|22, inst: 0, qu: 0, qs: 8, aw: True, rs: ReadAsync, ws: Flushing, in: 0, in-pipe: 0, out-pipe: 588189, serverEndpoint: redis-12346.rediscluster.local:12346, mc: 1/1/0, mgr: 10 of 10 available, clientName: DUUB-FIXER-03, IOCP: (Busy=35,Free=965,Min=30,Max=1000), WORKER: (Busy=62,Free=32705,Min=30,Max=32767), v: 2.2.50.36290
- Timeout performing UNLINK (1000ms), next: SETEX Bingo.Customer.Entities.DTO.InternalCustomer|1|2046496307, inst: 0, qu: 0, qs: 11, aw: False, rs: ReadAsync, ws: Idle, in: 0, in-pipe: 0, out-pipe: 12623, serverEndpoint: redis-18477.rediscluster.local:18477, mc: 1/1/0, mgr: 10 of 10 available, clientName: DUUB-SRV-03, IOCP: (Busy=48,Free=952,Min=30,Max=1000), WORKER: (Busy=8,Free=32759,Min=30,Max=32767), v: 2.2.50.36290
?
same problem
? any other idea ? solution ?
@Ohad29 thanks for your feedback. Unfortunately the connection poll is not the solution for all the timeout problems. There are several reason why you could have a timeout (see here.
I manage more than 100 rps with a pool with just 2 connections, it depends what you put on redis, the serialization, the thread pool and so on.
It's difficult to find a solution with these information.