首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET核中的Stackexchange.Redis超时异常

.NET核中的Stackexchange.Redis超时异常
EN

Stack Overflow用户
提问于 2017-03-22 15:40:42
回答 4查看 7.6K关注 0票数 9

我正在将一个net 4库移植到net 1.0.0-预览2

在开发我的网络核心库时,它使用的是Stackexchange.Redis版本1.2.1,在Net4版本中使用1.2.0。

在Net4中,我的库在调用Redis命令时从未失败过。

在net中,我随机地得到这个错误:

代码语言:javascript
复制
 System.TimeoutException: Timeout performing GET netkey, inst: 6, queue: 10, qu: 0, qs: 10, qc: 0, wr: 0, wq: 0, in: 645, ar: 0, clientName: XXXXXX, serverEndpoint: Unspecified/XXXXXXX, keyHashSlot: XXXXX(Please take a look at this article for some common client-side issues that can cause timeouts: https://github.com/StackExchange/StackExchange.Redis/tree/master/Docs/Timeouts.md)
   at StackExchange.Redis.ConnectionMultiplexer.ExecuteSyncImpl[T](Message message, ResultProcessor`1 processor, ServerEndPoint server)
   at StackExchange.Redis.RedisBase.ExecuteSync[T](Message message, ResultProcessor`1 processor, ServerEndPoint server)
   at StackExchange.Redis.RedisDatabase.StringGet(RedisKey key, CommandFlags flags)

使用默认配置(连接超时、连接重试等)

更新添加了“保持活动”配置,但仍然失败。

有什么想法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-03-27 19:02:35

解决方案:将SyncTimeout配置更新为10000。试了5000次,失败了,然后用10000修正了。默认值是1000。

票数 3
EN

Stack Overflow用户

发布于 2017-05-16 14:32:35

更新的SyncTimeout不是一个好的选择,因为您的redis命令运行得非常慢,超时的原因是. not核心默认线程在线程池中的计数太低。

只需在环境变量中设置maxThreads即可。

例:

ComPlus_ThreadPool_ForceMaxWorkerThreads 1000 ComPlus_ThreadPool_ForceMinWorkerThreads 50

然后以管理员身份运行app (允许app读取系统环境变量)

对我来说很管用

票数 4
EN

Stack Overflow用户

发布于 2017-03-27 18:08:16

你试过增加可用的线程吗?(注意,这不是来自.Net核心项目,所以我不能百分之百确定语法是否相同。)

在我的Application_Start方法中,Global.asax.cs中有以下内容

代码语言:javascript
复制
private static int THREAD_MIN = 50; // 4 cores in production = 200
...                
//Per Redis docs, upping the number of threads available to handle the IO demands on the cloud.   
//https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/Timeouts.md 
ThreadPool.SetMinThreads(THREAD_MIN, THREAD_MIN);       
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42956377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档