我的服务器因为一个未知原因在几小时前开始抛出以下异常。 它是一个Web应用程序。 有人可以帮忙吗?我该怎么办?
,Timeout执行GET SomeKey,inst:1,mgr:ProcessReadQueue,err:never,queue:12,qu:0,qs:12,qc:0,wr:0,wq:0,in:1702,ar :1,clientName:SSD41ACCU10147, IOCP :(忙碌= 0,自由= 1000,最小值= 4,最大值= 1000), 工人:(忙= 11,自由= 8180,最小= 4,最大= 8191),本地CPU:不可用(请看一下 本文针对一些常见的客户端问题 可能导致超时:https://github.com/StackExchange/StackExchange.Redis/tree/master/Docs/Timeouts.md)
,Timeout执行GET SomeKey2,inst:2,mgr:ProcessReadQueue,err:never,queue:33,qu:0,qs:33,qc:0,wr:0,wq:0,in:1141,ar :1,clientName:SSD41ACCU10147, IOCP :(忙碌= 0,自由= 1000,最小值= 4,最大值= 1000), 工作人员:(忙碌= 18,自由= 8173,最小值= 4,最大值= 8191),本地CPU:不可用(请看一下 本文针对一些常见的客户端问题 可能导致超时:https://github.com/StackExchange/StackExchange.Redis/tree/master/Docs/Timeouts.md)
堆栈跟踪
在 StackExchange.Redis.ConnectionMultiplexer.ExecuteSyncImpl [T](消息消息,ResultProcessor
1 processor, ServerEndPoint server) in C:\TeamCity\buildAgent\work\3ae0647004edff78\StackExchange.Redis\StackExchange\Redis\ConnectionMultiplexer.cs:line 2044 at StackExchange.Redis.RedisBase.ExecuteSync[T](Message message, ResultProcessor
1处理器,ServerEndPoint服务器)位于C:\ TeamCity \ buildAgent \ work \ 3ae0647004edff78 \ StackExchange.Redis \ StackExchange \ Redis \ RedisBase.cs:第81行 C:\ TeamCity \ buildAgent \ work \ 3ae0647004edff78 \ StackExchange.Redis \ StackExchange \ Redis \ RedisDatabase.cs中的StackExchange.Redis.RedisDatabase.HashGetAll(RedisKey键,CommandFlags标志):第130行...
修改 我可能有很多没有关闭的连接吗?
我有一个静态属性:
public static ConnectionMultiplexer Redis = ConnectionMultiplexer.Connect(" localhost:1234,abortConnect = false");
然后从每个地方我需要查询redis:
IDatabase db = GlobalStaticClass.redis.GetDatabase();
这种方法有问题吗?
编辑2 [对marc的回答]:
不多。 redis从未接近瓶颈。
Slowlog没有显示任何内容。
编辑3: 重置IIS解决问题15-30分钟,然后它再次启动,永不停止。
编辑4:这是托管公司的问题。并没有真正意识到redis。
它导致我们所有服务器都非常慢,redis是第一个返回超时错误的服务器。
您的回答确实帮助我找到了谁负责。
谢谢大家。
答案 0 :(得分:2)
整体方法应该没问题;出站很清楚,我们在入站时有少量数据,而且我们有一个活跃的读者 - 看起来很健康。所以我们进入了上下文:
答案 1 :(得分:0)
从您的超时错误消息(请注意"忙碌"的值大于" Min"的值),您正在经历Threadpool增长限制。
超时执行GET SomeKey,inst:1,mgr:ProcessReadQueue,错误:从不,队列:12,qu:0,qs:12,qc:0,wr:0,wq:0,in:1702,ar: 1,clientName:SSD41ACCU10147,IOCP :( Busy = 0,Free = 1000,Min = 4,Max = 1000),WORKER:( Busy = 11 ,Free = 8180, Min = 4 ,Max = 8191),
以下是您可以尝试的一些问题的解释和建议。 https://gist.github.com/JonCole/e65411214030f0d823cb#file-threadpool-md