Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用StackExchange.Redis时出现超时异常的原因可能是什么?_C#_Azure_Redis_Stackexchange.redis_Azure Redis Cache - Fatal编程技术网

C# 使用StackExchange.Redis时出现超时异常的原因可能是什么?

C# 使用StackExchange.Redis时出现超时异常的原因可能是什么?,c#,azure,redis,stackexchange.redis,azure-redis-cache,C#,Azure,Redis,Stackexchange.redis,Azure Redis Cache,在运行Azure应用程序服务的ASP.NET应用程序中,我在Azure Redis上使用StackExchange.Redis 1.2.0.0执行操作时,不时遇到此错误: 超时执行存在书签:afad5065-29b1-48c7-8bbc-38ddcc9ab4eType:1,inst:1,mgr:Inactive,err:never,queue:3,qu:0,qs:3,qc:0,wr:0,wq:0,in:0,ar:0,clientName:mywebapp,serverEndpoint:Unspe

在运行Azure应用程序服务的ASP.NET应用程序中,我在Azure Redis上使用
StackExchange.Redis 1.2.0.0
执行操作时,不时遇到此错误:

超时执行存在书签:afad5065-29b1-48c7-8bbc-38ddcc9ab4eType:1,inst:1,mgr:Inactive,err:never,queue:3,qu:0,qs:3,qc:0,wr:0,wq:0,in:0,ar:0,clientName:mywebapp,serverEndpoint:Unspecified/myapp.redis.cache.windows.net:6380,keyHashSlot:8377,IOCP:(Busy=1,Free=999,Min=200,Max=1000),WORKER:(忙=1,空闲=32766,最小=200,最大=32767),本地CPU:不可用(请参阅本文了解一些可能导致超时的常见客户端问题:)System.TimeoutException

使用以下配置连接:
allowAdmin=true、ssl=true、abortConnect=false、connectTimeout=5000、syncTimeout=2000

客户机和Redis服务在这段时间内都没有高负载。 我已经读过,但仍然不知道是什么原因导致了这些问题。如果您能提供帮助,我们将不胜感激。

超时可能是由或性能问题引起的,因此您必须从两方面来确定是什么原因导致了应用程序超时

需要考虑的一些事项:

  • 查看azure门户中的客户端或服务器端性能计数器时,请注意查看相对较小的时间窗口(例如1小时)。这一点很重要,因为当您缩小到较长的时间窗口时,门户会聚集值,这可能会隐藏短期的负载峰值
  • 许多性能计数器是通过采样而不是连续监视捕获的,因此负载峰值可能不够长,无法在门户中显示。例如,如果每15秒记录一次CPU使用情况,但CPU峰值仅为5秒,则它可能在采样之间发生,并且不会被看到。这就是StackExc的原因Redis试图捕获即将抛出超时时的瞬时CPU使用情况。不幸的是,某些环境不允许访问系统性能计数器-因此“本地CPU:不可用”超时错误中的消息。要解决此问题,您可以在超时发生时尝试捕获进程的转储。转储通常包含转储时的CPU信息
我已经整理了一个列表,帮助避免Redis中常见的陷阱


如果您仍然看不到任何问题的明确迹象,请打开Azure的支持案例,他们将帮助您进行调查。

您是否查看了专门针对Azure Redis的Azure文档?我将从这里开始:您有到Redis的网络流量吗?所有端口都打开了吗?您的IP是否位于Redis ACL上?如果配置了。@AndySinclair,是的,我已经完成了我从那篇文章中得到了一些建议,但没有成功。我觉得我在这一切中遗漏了一些微妙之处。