代码之家  ›  专栏  ›  技术社区  ›  webdevbing

Azure Redis超时

  •  1
  • webdevbing  · 技术社区  · 7 年前

    我有一个Asp。Net Azure web app调用Azure Redis实例。我在Redis上一直超时。我收到的信息如下。

     inst: 1, mgr: Inactive, err: never, queue: 120, qu: 0, qs: 120, qc: 0, wr: 0, wq: 0, in: 65536, ar: 0, clientName: RD0004FFA37AA4, serverEndpoint: Unspecified/server.redis.cache.windows.net:6380, keyHashSlot: 11524, IOCP: (Busy=0,Free=1000,Min=4,Max=1000), WORKER: (Busy=21,Free=8170,Min=200,Max=8191)
    

    应用程序和redis都位于同一地区(美国东部2)。

    1 回复  |  直到 7 年前
        1
  •  1
  •   JonCole    7 年前

    有“ “在您的错误消息中,表示客户端内核套接字接收缓冲区中有65536个字节已准备好处理,但尚未被客户端应用程序解析。

    1. 需要调整线程池设置( as described here ). 然而,上面提供的错误消息并不表明这是一个问题。检查更多错误的抽样,以确保在其他情况下不会发生这种情况。
    2. 客户端CPU正在热运行。当CPU较高时,处理套接字接收事件的代码不会及时触发,因此处理代码不会解析内核缓冲区中等待的数据。检查客户端CPU历史记录。不过要小心——在azure指标中可能不会出现短暂的CPU峰值,因为CPU是在一个周期(我认为每20秒)上捕获的。如果峰值发生在这些样本之间并且很短,则度量收集系统可能不会注意到。

    其他常见 client-side causes are documented here common server-side errors are documented here