Redis会话状态EVAL TimeOut

时间:2016-02-27 14:07:00

标签: azure redis

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

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

这是错误:

Microsoft.Web.RedisSessionStateProvider.dll中发生了'System.TimeoutException'类型的异常,但未在用户代码中处理

附加信息:超时执行EVAL,inst:0,mgr:不活动,错误:从不,队列: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>

1 个答案:

答案 0 :(得分:0)

也许迟到的回答,但从来没有...... 在这种情况下,看起来缓存中的信息量是您的问题。 Redis经过精心调整,可以检索很多小的缓存信息,而不是一个巨大的字符串......

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