2017-05-29 229 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