V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Geekerstar
V2EX  ›  Java

线上 Java 项目的连接数过多排查方案

  •  
  •   Geekerstar · 2021-09-29 18:15:12 +08:00 · 1786 次点击
    这是一个创建于 933 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前线上有个 Java 项目,服务器刚刚启动连接数正常,一两天之后,连接数达到几万。 使用 ps -eLf | wc -l 查看的 有没有好的办法可以排查这个问题呢,是个老项目。感觉是资源没有释放,但是没有好的排查方案,感谢各位大佬。

    6 条回复    2021-09-30 17:12:06 +08:00
    leonme
        1
    leonme  
       2021-09-29 18:35:25 +08:00 via iPhone
    业务代码逻辑-业务 log - gc log - 系统资源信息( cpu/mem/disk/thread 等),无非这几个方面结合看,但是深刻理解业务逻辑代码最重要
    shanghai1943
        2
    shanghai1943  
       2021-09-29 18:35:48 +08:00
    线程 dump 一下看呢
    wellsc
        3
    wellsc  
       2021-09-29 18:41:49 +08:00 via iPhone
    这标题……查看链接数不是用 netstat 和 losf 的嘛?网上一搜一大把
    fengpan567
        4
    fengpan567  
       2021-09-30 11:03:36 +08:00
    netstat -anp
    yidinghe
        5
    yidinghe  
       2021-09-30 11:22:09 +08:00
    假设楼主说的是数据库连接。

    一个办法是从数据库服务端看,这些没有释放的连接最后执行的是什么 SQL,反推定位到代码位置。
    Chinsung
        6
    Chinsung  
       2021-09-30 17:12:06 +08:00
    连接数?这个连接数是哪里看到的?监控打印的数据库 Redis 等连接池的信息吗?还是 tomcat 容器的连接数信息?
    具体是体现在线程数飙升吗? jstack 看一下哪些线程最多。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2763 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 05:40 · PVG 13:40 · LAX 22:40 · JFK 01:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.