【发布时间】:2019-12-30 20:59:43
【问题描述】:
我有一个包含 6 个实例、3 个主实例和 3 个从属实例的 Redis 集群。我的 ASP .NET Core 应用程序将其用作缓存。有时我会收到这样的错误:
StackExchange.Redis.RedisTimeoutException: Timeout awaiting response (outbound=0KiB, inbound=5KiB, 5504ms elapsed, timeout is 5000ms), command=GET, next: GET CRM.UsersMainService.GetUserInfoAsync.vvs1@domain.org, inst: 0, qu: 0, qs: 6, aw: False, rs: DequeueResult, ws: Idle, in: 0, in-pipe: 5831, out-pipe: 0, serverEndpoint: 5.178.85.30:7002, mgr: 9 of 10 available, clientName: f0b7b81f5ce5, PerfCounterHelperkeyHashSlot: 9236, IOCP: (Busy=0,Free=1000,Min=2,Max=1000), WORKER: (Busy=10,Free=32757,Min=2,Max=32767), v: 2.0.601.3402 (Please take a look at this article for some common client-side issues that can cause timeouts: https://stackexchange.github.io/StackExchange.Redis/Timeouts) (Most recent call last)
【问题讨论】:
-
你看过错误提示中推荐的文章了吗? stackexchange.github.io/StackExchange.Redis/Timeouts
-
@howcheng 是的,我尝试按照那里的描述进行操作,但没有帮助
-
无论何时发生,运行
SLOWLOG GET 10以查看可能导致它的慢查询。 -
这可能是在黑暗中拍摄,但我遇到了类似的问题,因为 Redis 无法同时处理大量并发请求。
-
你想做什么操作?如果它的 get 或 set 推送/存储的数据的大小是多少,并提到正在使用的数据结构,如 String、HashTable 或 SET?
标签: c# asp.net redis threadpool stackexchange.redis