Closed gruan01 closed 3 years ago
Status when become slow:
10.89.70.14:4003: Cluster v6.0.9, replica; 16 databases; keep-alive: 00:01:00; int: ConnectedEstablished; sub: ConnectedEstablished, 1 active 10.89.70.14:4003: int ops=14079, qu=0, qs=0, qc=0, wr=0, socks=1; sub ops=53, qu=0, qs=0, qc=0, wr=0, subs=1, socks=1 Circular op-count snapshot; int: 14067+4+6+2=14079 (1.20 ops/s; spans 10s); sub: 53 (0.00 ops/s; spans 10s) 10.89.70.14:4004: Cluster v6.0.9, replica; 16 databases; keep-alive: 00:01:00; int: ConnectedEstablished; sub: ConnectedEstablished, 1 active 10.89.70.14:4004: int ops=14080, qu=0, qs=0, qc=0, wr=0, socks=1; sub ops=53, qu=0, qs=0, qc=0, wr=0, subs=1, socks=1 Circular op-count snapshot; int: 14067+4+6+3=14080 (1.30 ops/s; spans 10s); sub: 53 (0.00 ops/s; spans 10s) 10.89.70.14:4005: Cluster v6.0.9, replica; 16 databases; keep-alive: 00:01:00; int: ConnectedEstablished; sub: ConnectedEstablished, 1 active 10.89.70.14:4005: int ops=14858, qu=0, qs=0, qc=0, wr=0, socks=1; sub ops=53, qu=0, qs=0, qc=0, wr=0, subs=1, socks=1 Circular op-count snapshot; int: 14846+1+9+2=14858 (1.20 ops/s; spans 10s); sub: 53 (0.00 ops/s; spans 10s) Sync timeouts: 0; async timeouts: 0; fire and forget: 0; last heartbeat: 0s ago
I have use NProfiler to get some runtime information, my mistake , not caused by redis. Sorry.
I don't know how to describe my confiuse...
I made cluster with
redis-6.0.9
on 2centos 7
servers. Cluster have4 masters and 8 replicas
.Client driver use
StackExchange.Redis 2.1.58
....I have a internal service, deploy as
10 websites on 2 windows server
, use nginx as entry point,20000 request per minutes over nginx
.Every request need get some data from redis.
When I restart IIS , redis can response in 1 ~ 2 ms, CPU is very smooth and low rate. But after 1 or 1.5 hour, redis become slow, need 10 ~ 100 ms to response, and CPU become busy, until restart iis again...
I have try :
SocketManager
specifyworker count
.SocketManagerOptions
.ThreadPool.SetMinThreads
tcp_max_syn_backlog
to 10240 and setnet.core.somaxconn
to 10240But not work, I still need restart IIS every hour...
Exported redis config:
ConnectionPool
Get data from redis:
Business code:
closer.BuildCloseData
will invoke redis to get dataAbove screenshot is performances counter of IIS connection when redis become slow. Request can't be processed in time, so connection can' release, CPU becom busy, all work delaied.
Above screenshot is performances counter of IIS connection when I restart IIS. Redis response quickly , no work delay, no connection hanged.
Can somebody tell me why ?