2017-05-29 231 views
0

我們在Azure的Saas應用程序中包含Redis緩存。Azure的Redis緩存錯誤

但是我們有一些問題,我們看到了這些類型的錯誤,不時

Timeout performing EVAL, inst: 2, queue: 23, qu: 0, qs: 23, qc: 0, wr: 0, wq: 0, in: 65536, ar: 0, 
IOCP: (Busy=1,Free=999,Min=1,Max=1000), WORKER: (Busy=2,Free=8189,Min=1,Max=8191) 

Timeout performing EVAL, inst: 2, queue: 3, qu: 0, qs: 3, qc: 0, wr: 0, wq: 0, in: 65536, ar: 0, 
IOCP: (Busy=1,Free=999,Min=1,Max=1000), WORKER: (Busy=3,Free=8188,Min=1,Max=8191) 

當試圖解釋這些日誌,我也很難知道從哪裏開始,到哪裏尋找和借鑑結論。

請問,有人能告訴我一些關於這些特殊的價值嗎? Redis實例與服務器位於同一個區域,我使用帶有1GB內存的c1計劃,但是這些錯誤是通過執行簡單測試而出現的。

的設置是:

ConnectionTimeoutInMilliseconds = "2000" operationTimeoutInMilliseconds = "1500" retryTimeoutInMilliseconds = "4500" 

在Azure的Redis的儀表板,我看不出有任何的內存峯值,連接或其他任何東西,我應該在任何特定的價值?

回答

0

超時時間內的「in:65536」值非常高。該值表示客戶端的套接字內核緩衝區中有多少數據。這表明數據已到達本地機器,但尚未被應用程序層讀取。這通常發生在1)線程池設置需要調整時,或2)客戶端CPU運行高時。 IOCP:(Busy = 1,Free = 999,Min = 1,Max = 1000),WORKER :(Busy = 2,Free = 8189,Min = 1,Max = 8191)和IOCP :(Busy = 1 ,自由= 999,最小= 1,最大= 1000),工作者:(忙= 3,自由= 8188,最小= 1,最大= 8191)表明你遇到線程池增長節流問題。您可能想要查看這裏的解釋和建議:https://gist.github.com/JonCole/e65411214030f0d823cb#file-threadpool-md

+0

感謝您的回答。我已經配置了線程池的增長。但不幸的是,它並沒有爲我工作。我發現的一個問題是,使用ReportViewer呈現報表時,它會創建非常複雜的對象 – Jsanchez

+0

當您說「它不適合我」時,您現在收到哪些錯誤? –

+0

與上面詳述的錯誤相同。我試圖開發一個解決方案,每次渲染一個新的時候,都會從ReportViewer中刪除Keys。它似乎現在正在工作。 我試圖配置threadPool,但我不知道如何從web.config中的SessionStateProvider進行配置時執行此操作。 感謝您的回覆。 – Jsanchez