请教一个请求莫名其妙被阻塞的问题

2022-11-02 15:39:50 +08:00
 7911364440

功能的逻辑很简单,大概是这样的:

  1. 用户提交请求后
  2. 后端执行select count(*) from xxx语句
  3. 返回响应

日志大概是这样的:

2022-10-13 09:58:56,303 INFO [xxx] - <开始执行 COUNT>  -- 出现问题的请求开始
... --期间有很多其它请求可以正常处理
2022-10-13 10:11:11,839 INFO [xxx] - <COUNT 执行完毕>  -- 出现问题的请求结束(被阻塞了 10 多分钟,最终请求还是执行完了)
2022-10-13 10:11:11,886 INFO [xxx] - <开始执行 COUNT>  -- 用户提交的第二次请求开始
2022-10-13 10:11:12,745 INFO [xxx] - <COUNT 执行完毕>  -- 用户提交的第二次请求结束 (只用了 1 秒)
1253 次点击
所在节点    Java
6 条回复
oceanthe1h
2022-11-02 15:51:21 +08:00
是不是连接数被限制了
Kontinue
2022-11-02 15:51:40 +08:00
在等锁?
RedBeanIce
2022-11-02 20:01:18 +08:00
1 ,可以先用 arthas 分析一下是哪一行阻塞导致的
2 ,找到哪一行之后,,再进行分析,是 mysql ,还是其他的。
lff0305
2022-11-03 06:42:35 +08:00
jstack 看下卡在哪里了,

六七年前在客户的环境遇到过一样的问题
原因是 Oracle 连接的时候 Secure Random 类在获得真随机数的时候被阻塞了(只在客户的虚拟化环境出现,其它环境无法重现)
fwrq41251
2022-11-03 14:57:15 +08:00
oracle 没有 PROCESSLIST 吗
ChenSino
2022-11-09 09:08:07 +08:00
@lff0305 我遇过这个,在 Linux 下,因 Secure Random springcloud 项目启动要十来分钟,

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/892114

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX