C# stackexchange.redis即使在增加超时后也会抛出超时?

C# stackexchange.redis即使在增加超时后也会抛出超时?,c#,redis,stackexchange.redis,C#,Redis,Stackexchange.redis,尝试从缓存中删除时出现以下错误: 超时执行DEL test.com,inst:0,mgr:ExecuteSelect,err:never,queue:0,qu:0,qs:0,qc:0,wr:0,wq:0,in:0,ar:0,clientName:ORLWS052,serverEndpoint:Unspecified/pub-redis-16778.us-west-2-1.1.ec2.garantadata.com:16778,keyHashSlot:6928,IOCP:(忙=3,空闲=997,最

尝试从缓存中删除时出现以下错误:

超时执行DEL test.com,inst:0,mgr:ExecuteSelect,err:never,queue:0,qu:0,qs:0,qc:0,wr:0,wq:0,in:0,ar:0,clientName:ORLWS052,serverEndpoint:Unspecified/pub-redis-16778.us-west-2-1.1.ec2.garantadata.com:16778,keyHashSlot:6928,IOCP:(忙=3,空闲=997,最小=4,最大=1000),工作者:(忙=4,空闲=4091,最小=4095),本地CPU:100%(请参阅本文,了解一些可能导致超时的常见客户端问题:https://github.com/StackExchange/StackExchange.Redis/tree/master/Docs/Timeouts.md)

更新时,我也会收到类似的超时

我不知道怎么读这篇文章,所以如果有人知道这会很有帮助

我试图更新或删除的密钥大小为5515字节

我还运行了
slowlog get
命令,但是没有(长度为0)

我还试图增加超时时间,但这也不起作用。IOCP:(忙=3,空闲=997,最小=4,最大=1000),WORKER:(忙=4,空闲=4091,最小=4,最大=4095),本地CPU:100%

请检查您的ICOP、工作线程繁忙和最小线程数。CPU也是100%。timeoutHelpLink已在最新版本中更新

如果我们看一下StackExchange.Redis(build)中的错误消息示例 1.0.450或更高版本),您将看到它现在打印线程池统计信息(请参阅下面的IOCP和工作人员详细信息)

System.TimeoutException:执行GET MyKey的超时,指令:2,管理器:
非活动,队列:6,qu:0,qs:6,qc:0,wr:0,wq:0,in:0,ar:0,
IOCP:(忙=6,空闲=994,最小=4,最大=1000),工作者:
(忙=3,闲=997,最小=4,最大=1000)

在上面的示例中,您可以看到IOCP线程有6个 繁忙线程,系统配置为允许至少4个线程。 在这种情况下,客户端可能会看到两次500毫秒的延迟 因为6>4

请注意,StackExchange.Redis可能会在以下情况下超时: IOCP或工作线程被限制

建议:鉴于上述信息,建议设置 IOCP和工作线程的最小配置值 大于默认值。我们不能一刀切 关于该值应该是什么的指导,因为该值是正确的 对于另一个应用程序,应用程序将过高/过低。这个设置 也会影响复杂系统其他部件的性能 应用程序,因此您需要将此设置微调到特定的 需要。一个好的起点是200或300,然后根据需要进行测试和调整 需要


我也面临同样的问题,并通过更改
syncTimeout
参数来解决它。默认值为1000毫秒。

根据来源,它还影响
AsyncTimeout

您好,谢谢您的输入。在哪里可以更改这些设置?代码的哪一部分?还有,你是怎么想到2500毫秒的延迟的?是不是每一个线程都超过500毫秒?@xaisof你没有检查链接吗?是的,我在事后看到了。谢谢