从Redis缓存中检索数据时,我们收到以下超时异常。
'超时执行GET inst:2,mgr:无效,错误:从不,队列:3,qu:0,qs:3,qc:0,wr:0,wq:0,in:18955,
IOCP :( Busy = 4,Free = 996,Min = 2,Max = 1000),WORKER :( Busy = 0,Free = 1023,Min = 2,Max = 1023),
请注意:每个超时异常都有不同的上述值。队列有时是2,1,3,qs也随队列值而变化。 此外,IN:值不断变化,如18955,65536,36829等。 甚至IOCP也有变化 IOCP :( Busy = 6,Free = 994,Min = 2,Max = 1000),WORKER :( Busy = 0,Free = 1023,Min = 2,Max = 1023)。
请注意:
堆栈溢出中有许多类似的问题并尝试了所有这些问题。但是,没有运气。
我们最近将nuget包更新到StackExchange.Redis库的最新稳定版本(v1.2.1),
这个异常似乎每次都出现在同一个地方,即使我们正在使用redis缓存的各个地方。这已经在堆栈跟踪的帮助下找到了。
此外,我们之前从未遇到过这个问题,就像我们使用过去3年的相同解决方案一样,从未遇到过这个问题。此异常发生在过去3个月,每天至少发生3-4次。
答案 0 :(得分:0)
It looks like you are experiencing threadpool throttling (from the Busy and Min numbers in your error message). You will need to increase the MIN values for IOCP and Worker pool threads.
https://gist.github.com/JonCole/e65411214030f0d823cb#file-threadpool-md has more information.