请教个关于 tomcat 线程执行时间过长问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Spider1996
V2EX    Java

请教个关于 tomcat 线程执行时间过长问题

  •  
  •   Spider1996 2024-08-05 15:45:14 +08:00 1705 次点击
    这是一个创建于 506 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近在 pinpoint 监控上发现偶尔会出现个别执行时间特别长的线程(查询数据接口,正常这个接口响应时间都是秒级),我在 nginx 上设置的 proxy_read_timeout 是 60s ,所以查询时间超过 60s 已经返回 http504 了。但是这部分的线程仍然在执行。是否可以结束掉这些线程,或者是什么原因造成了这些线程执行时间过长,应该从哪入手解决这个问题?


    下面是 pinpoint 跟踪的截图:br />[Imgur]( )


    执行慢都是在 jdbc 查询特别久
    [Imgur]( )
    7 条回复    2024-08-07 09:56:01 +08:00
    sagaxu
        1
    sagaxu  
       2024-08-05 15:52:31 +08:00
    “执行慢都是在 jdbc 查询特别久”

    那自然是连接到数据库,把超时的 SQL 捞出来分析一下,是 SQL 本身的问题,还是 DB 临时资源不够
    opengps
        2
    opengps  
       2024-08-05 15:57:06 +08:00
    排查慢 SQL
    Spider1996
        3
    Spider1996  
    OP
       2024-08-05 16:36:42 +08:00
    @sagaxu sql 本身单独执行速度都是正常的,是因为我 db 连接池资源不够导致时间会拉长吗?
    Pantheoon
        4
    Pantheoon  
       2024-08-06 10:26:39 +08:00
    看下数据库,是不是数据库有超长 sql,或者等待的情况
    Chinsung
        5
    Chinsung  
       2024-08-06 13:10:34 +08:00
    看下 druid 配置,db 本身没有慢 sql 的话,可能是连接数不够,此时 druid 获取一个链接的时间过长
    但是你这个堆栈看起来不像阻塞在了 getConnection ,看下带宽问题?
    或者是循环执行一个很快的 sql ,比如查询几 W 次一个几十 ms 的 sql ,接口会慢但是 db 不会有慢 log
    pinpoint 可以看到接口,看下是不是接口里有没有什么奇怪的写法,实在不行接口里的 sql 都加个前后打印时间的输出看下
    Spider1996
        6
    Spider1996  
    OP
       2024-08-07 09:21:15 +08:00
    @Chinsung 如果是连接池连接不够是会卡在 getConnection 吗
    Chinsung
        7
    Chinsung  
       2024-08-07 09:56:01 +08:00
    @Spider1996 #6 是的,不过 pinpoint 好像没有堆栈的详细时间,之前公司用阿里云的 arms ,在 sql 变慢,上游请求明显大于配置的连接数的时候,满请求明显都是阻塞到了 getConnection 的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3179 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 10:57 PVG 18:57 LAX 02:57 JFK 05:57
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86