2016-02-27 129 views
2

我想使用Redis的會話狀態與我的Windows Azure雲網站。我正在使用1 GB標準層。我正在使用P1高級數據庫。我正在測試本地主機。我的緩存和網站位於東部美國。Redis的會話狀態EVAL超時

我儲存200 - 在會話狀態400的對象,其中包括訂單和付款。

以下是錯誤:

類型「System.TimeoutException」的一個例外發生在Microsoft.Web.RedisSessionStateProvider.dll但在用戶代碼

附加信息沒有處理:超時執行EVAL,研究所:0,MGR:無效,ERR:從未,隊列:7,曲:1,適量:6,QC:0,WR:1,WQ:1,在:0,AR:0,IOCP:(忙碌= 0,免費= 1000,最小= 8,最大值= 1000),工人(BUSY = 1,免費= 4094,最小= 8,最大值= 4095),CMDCMDLINE: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> 

回答

0

也許後期回答,但從來沒有更少...
在這種情況下,它看起來像緩存內的信息量是你的問題。 Redis的是微調,以獲取大量的小緩存信息,而不是一個單一的巨大串...

另一件事,我建議你嘗試是增加數分鐘IOCP和工作線程的數目在...我的情況(2核心機器)我想出最好的數字是100 ...