.net Core中Redis超时(Timeouts)问题处理

我们项目用地StackExchange.Redis,在高并发下会有超时的报错提示。搞了好就,最终处理好了,赶紧记录一下,压压惊!

解决办法

1、设置最小线程池(ThreadPool.SetMinThreads(200, 200)),网上大多都这么说的,官网也是这么说的。这样表面上是可以解决超时问题的,但是线程太多会也影响CPU的运行效率的。最终会降低系统性能,是个治标不治本的办法。

2、换Reids驱动,虽然没有超时提示,但是并发在60就上不去了,程序卡死。这也也是治标不治本。不得行滴~

3、重点来了,逐个方法逐行排除。最终发现是因为在同步里面调用异步方法导致。改为同步调同步就解决了我的问题!

导致该问题产生的猜测:同步掉异步会向系统申请子线程,但是系统默认的最小子线程是8,操作最小线程数后申请新的线程系统会延迟500毫秒分配新的线程,并发量一上去就会导致后面的请求超时。
哎~前任埋的坑啊 ,也怪自己学艺不精

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值