首页 新闻 搜索 专区 学院

netcore 3 webapi假死

0
悬赏园豆:100 [待解决问题]

背景:以前一个项目使用了netcore 2.1,并发大也扛住了,觉得不错,
最近新项目使用了netcore 3.1作为接口端

问题:现在接口部署在centos 7上面,接口运行一段时间后,会假死
什么是假死,我来描述一下
所有接口用了ActionFilter过滤,OnActionExecuting(接口执行中事件)能进来,数据库也能访问,
OnActionExecuted(执行后)就死活进不来,而且是所有接口,
这就导致了接口没有返回值,前端一直等待直至超时。

自查记录:
1、通过查看接口状态,发现接口卡了1200秒左右后又能正常访问了,如图,感觉所有接口都在等待似的

接口堵住时状态如下,一直在executing

2、一开始以为是部署到Linux的问题,后来在windows部署后也出现了一样的问题
3、接口假死时,swagger生成的静态接口页面能正常访问

求助:这个问题困扰了好多天了,不知各位是否有解决办法或者提供下排查思路

HumanJun的主页 HumanJun | 初学一级 | 园豆:102
提问于:2020-07-04 21:54
< >
分享
所有回答(2)
0

代码中有没有地方在同步方法中调用异步方法?

dudu | 园豆:37797 (高人七级) | 2020-07-04 21:56

就一个记录日志,但这个日志类在之前netcore2.1项目中也使用过

支持(0) 反对(0) HumanJun | 园豆:102 (初学一级) | 2020-07-05 08:58

@HumanJun: 建议提供对应的代码

支持(0) 反对(0) dudu | 园豆:37797 (高人七级) | 2020-07-05 09:00
0

像 async await 死锁问题,具体要看下代码

gt1987 | 园豆:941 (小虾三级) | 2020-07-09 11:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册