【问题标题】:Redis Session State EVAL TimeOutRedis 会话状态 EVAL 超时
【发布时间】:2016-02-27 14:06:59
【问题描述】:

我正在尝试将 Redis 会话状态与我的 Windows Azure 云网站一起使用。我正在使用 1 GB 标准层。我正在使用 P1 高级数据库。我正在本地主机上进行测试。我的缓存和网站位于美国东部。

我在会话状态中存储 200 - 400 个对象,其中包括订单及其付款。

这是错误:

Microsoft.Web.RedisSessionStateProvider.dll 中出现“System.TimeoutException”类型的异常,但未在用户代码中处理

附加信息:超时执行 EVAL,inst:0,mgr:不活动,err:从不,队列:7,qu:1,qs:6,qc:0,wr:1,wq:1,in:0, ar: 0, IOCP: (Busy=0,Free=1000,Min=8,Max=1000), WORKER: (Busy=1,Free=4094,Min=8,Max=4095), clientName: XX

这是我的设置:

<sessionState mode="Custom" customProvider="MySessionStateStore">
  <providers>
    <add name="MySessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" host="XX.redis.cache.windows.net" accessKey="XX" ssl="true" syncTimeout="3000" connectionTimeoutInMilliseconds="5000" operationTimeoutInMilliseconds="1000" retryTimeoutInMilliseconds="3000" />
  </providers>
</sessionState>

【问题讨论】:

    标签: azure redis


    【解决方案1】:

    也许迟到的答案,但绝不会少……
    在这种情况下,缓存中的信息量似乎是您的问题。 Redis 可以很好地检索很多小的缓存信息,而不是一个巨大的字符串......

    我建议您尝试的另一件事是增加 IOCP 和工作线程的最小数量...在我的场景(2 核机器)中,我发现最好的数字是 100...

    【讨论】:

      猜你喜欢
      • 2015-05-22
      • 2022-01-07
      • 2013-02-17
      • 2011-10-11
      • 1970-01-01
      • 2012-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多