首页 新闻 搜索 专区 学院

aspnetcore在docker长时间运行后假死

0
[待解决问题]

aspnetcore3.1版本,部署到docker容器,长时间运行后,突然不处理新的请求了,但是docker容器并没有退出,telnet接口的端口号是成功的,请问大家有没有遇到过类似的情况,该怎么排查这种问题

雙孖星的主页 雙孖星 | 初学一级 | 园豆:146
提问于:2020-07-30 11:36
< >
分享
所有回答(5)
0

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

dudu | 园豆:39014 (高人七级) | 2020-07-30 12:12

没有 全部都是异步的,感觉是不接受新的请求进来了,请问有没有好的排查方法

支持(0) 反对(0) 雙孖星 | 园豆:146 (初学一级) | 2020-07-30 13:32
0

代码问题,记录日志看看

.Net老中医 | 园豆:213 (菜鸟二级) | 2020-07-30 13:27

有通过中间件记录全部异常日志的 我看假死前的日志都是正常的 假死后就没有日志了,请问下一步要怎么排查

支持(0) 反对(0) 雙孖星 | 园豆:146 (初学一级) | 2020-07-30 13:34
0

内存使用情况?看描述像是发生了内存泄漏

xiaogui340 | 园豆:545 (小虾三级) | 2020-07-30 16:12

不是的 我通过docker stats看过 内存是正常的 只有几百M

支持(0) 反对(0) 雙孖星 | 园豆:146 (初学一级) | 2020-07-30 16:13
0

“不处理新的请求”是什么意思?超时了,还是返回了错误码?

会长 | 园豆:8070 (大侠五级) | 2020-07-30 16:43

不是超时 是没有响应任何内容了 但是telnet端口号还在

支持(0) 反对(0) 雙孖星 | 园豆:146 (初学一级) | 2020-07-30 16:48

@雙孖星: 你的意思是发送一个http请求,不会超时,不会有任何反应?

支持(0) 反对(0) 会长 | 园豆:8070 (大侠五级) | 2020-07-30 16:52

会不会是有耗时操作?建议在可以方法开始处和结束处分别写日志,看看是不是只记录了开始时的日志,记录不到结束时的日志

支持(0) 反对(0) 会长 | 园豆:8070 (大侠五级) | 2020-07-30 16:54

@会长: 是的 任何http请求都没响应了 是不是要抓包看看情况

支持(0) 反对(0) 雙孖星 | 园豆:146 (初学一级) | 2020-07-30 16:56

@会长: 已经假死了两天了 应该不是耗时操作导致吧 因为请求很多 在这种情况下 这样加日志也很难看出出哪个耗时没有完成

支持(0) 反对(0) 雙孖星 | 园豆:146 (初学一级) | 2020-07-30 17:11

@雙孖星: 肯定有地方可以加这样的日志,我太久没看了,忘记了,在一个较高的中间件中加

支持(0) 反对(0) 会长 | 园豆:8070 (大侠五级) | 2020-07-30 17:15

@雙孖星: 但是出问题肯定是个某接口,总结还是某个接口代码有问题

支持(0) 反对(0) winds_随风 | 园豆:116 (初学一级) | 2020-07-30 17:15
0

另外进入到容器用netstat查查tcp的连接情况。

dotnet-dump https://docs.microsoft.com/zh-cn/dotnet/core/diagnostics/dotnet-dump 一下看看。

blackheart | 园豆:3336 (老鸟四级) | 2020-07-30 18:39

好的 下次遇到这种情况我试试

支持(0) 反对(0) 雙孖星 | 园豆:146 (初学一级) | 2020-07-31 08:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册