StackExchange.Redis 有时会报TimeoutException是什么原因

StackExchange.Redis连接redis服务器,已经使用了单例懒加载,连接串为xxx.xxx.xxx.xxx:6379,abortConnect=false,

由于是多个服务器负载,都使用这一个dll方法连接redis,redis连接数在60-100左右,redis的ops在3000以内,大分部时间,都可以正常请求,但就是不知道什么时候,会报出一个timeout,也不一定是负载高的时候,有时候负责不高也会报,

StackExchange.Redis的版本是最新的1.1.608
web.config <processModel>没有设置,用的默认的
IOCP和WORKER下面的报错中,也没有到一个很高的值

Exception type: TimeoutException 
    Exception message: Timeout performing HGETALL x:object:13493663, 
    inst: 37, mgr: ProcessReadQueue, err: never, queue: 0, qu: 0, qs: 0, qc: 0, wr: 0, wq: 0, in: 0, ar: 1, 
    clientName: FKMLOAO5NQI, 
    IOCP: (Busy=0,Free=1000,Min=24,Max=1000), 
    WORKER: (Busy=20,Free=32747,Min=24,Max=32767), 
    Local-CPU: unavailable (Please take a look at this article for some common client-side issues that can cause timeouts: https://github.com/StackExchange/StackExchange.Redis/tree/master/Docs/Timeouts.md)
阅读 20.3k
4 个回答
新手上路,请多包涵

asp.net core 2.0也狂报这个错误,但是却能正常取到值。

Connection id "0HLCT3QOC2886", Request id "0HLCT3QOC2886:00000002": An unhandled exception was thrown by the application.
StackExchange.Redis.RedisConnectionException: No connection is available to service this operation: GET left_all_menu_5; It was not possible to connect to the redis server(s); ConnectTimeout ---> System.AggregateException: One or more errors occurred. (It was not possible to connect to the redis server(s); ConnectTimeout) (UnableToConnect on 127.0.0.1:6379/Interactive, origin: ResetNonConnected, input-buffer: 0, outstanding: 0, last-read: 4s ago, last-write: 4s ago, unanswered-write: 115s ago, keep-alive: 60s, pending: 0, state: Connecting, last-heartbeat: never, last-mbeat: -1s ago, global: 47s ago) ---> StackExchange.Redis.RedisConnectionException: It was not possible to connect to the redis server(s); ConnectTimeout
--- End of inner exception stack trace ---

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
Microsoft
子站问答
访问
宣传栏