Azure的Redis缓存错误

时间:2017-05-29 09:31:32

标签: azure redis azure-redis-cache

我们在Azure中的Saas应用程序中包含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仪表板中,我没有看到任何内存峰值,连接或其他任何内容,我应该查看任何特定值吗?

1 个答案:

答案 0 :(得分: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, Free = 999,Min = 1,Max = 1000),WORKER :( Busy = 3,Free = 8188,Min = 1,Max = 8191)表示您正在遇到线程池增长限制问题。您可能希望在此处查看解释和建议:https://gist.github.com/JonCole/e65411214030f0d823cb#file-threadpool-md