小编Nic*_*aef的帖子

StackExchange.Redis - 无法解释的超时异常问题

我们在 .NET Core 3.1 与 Azure Redis 缓存的集成中遇到了问题。抛出的异常是

执行请求时发生未处理的异常。","@l":"错误","@x":"StackExchange.Redis.RedisTimeoutException: 等待响应超时(出站 = 1403KiB,入站 = 5657KiB,已过去 15000 毫秒,超时为15000ms),command=EVAL,下一个:EVAL,inst:0,qu:0,qs:709,aw:True,rs:ReadAsync,ws:写入,in:0,serverEndpoint:redis-scr-mns-dev.redis .cache.windows.net:6380,mc:1/1/0,mgr:10 个可用,共 10 个可用,clientName:xxxxxxxxxxxx,IOCP:(忙碌 = 0,空闲 = 1000,最小 = 4,最大 = 1000),工作人员: (Busy=7,Free=32760,Min=4,Max=32767), v: 2.1.58.34321(请查看这篇文章,了解一些可能导致超时的常见客户端问题: https://stackexchange.github .io/StackExchange.Redis/超时)

是的,我已经阅读了这篇文章,我们正在使用 StackExchange.Redis NuGet 包,最新版本可用。我们已经采取的步骤是

  • 使用多个值设置最小线程池计数 (ThreadPool.SetMinThreads(short.MaxValue, short.MaxValue);)
  • 将Redis超时值从默认的 5 秒增加到 15 秒(老实说,更高的值并不能解决这个问题,因为您将进一步阅读:))

你问的设置是什么?

  • .NET Core 3.1 REST API在最新的 IIS 上运行,在具有 16GB RAM 的 4 核 Windows 服务器上设置 3 个工作线程(在有关 CPU 或内存的监控中没有看到任何极端情况)
  • 连接到Azure Redis 缓存。目前正在运行具有高网络带宽和 23GB 内存的Basic C5 …

c# redis stackexchange.redis azure-redis-cache .net-core

4
推荐指数
1
解决办法
3246
查看次数