【Druid】Druid连接池泄露问题排查: wait millis 60000, active 50, maxActive 50
要排查Druid连接池泄漏问题,可以按照以下步骤进行:
-
检查代码中的连接释放:确保在使用完连接后,及时调用
connection.close()
或相应的释放连接的方法。确保没有遗漏或误释放连接的情况。 -
检查连接池配置:确认连接池的参数设置是否正确。包括最大连接数、最小空闲连接数、连接超时时间等。确保连接池的配置与实际需求一致,并没有设置过小或过大。
-
监控连接池状态:通过连接池的监控工具,如Druid提供的数据源监控页面,查看连接池的状态信息。检查活跃连接数、空闲连接数、等待获取连接的线程数等指标,以了解连接池的使用情况。
-
检查定时任务代码:仔细检查定时任务相关的代码逻辑,特别注意是否存在长时间占用连接不释放的情况。确保在每次任务执行完成后都正确释放与数据库的连接。
-
查看日志和异常信息:检查应用程序的日志文件和异常信息,查找是否有关于连接池泄漏或连接资源释放失败的记录。这些信息可以帮助确定问题发生的位置和原因。
-
使用性能分析工具:可以使用性能分析工具来诊断应用程序的内存和资源使用情况。例如,使用Java Profiler工具分析内存泄漏或连接未被关闭的情况。
-
更新依赖版本:如果使用的是elasticsearch-sql-6.2.2.0版本,可以考虑升级到最新版本,以获取修复的bug和改进的功能。
总体来说,排查Druid连接池泄漏问题需要结合代码、配置、监控和日志等多方面的信息。逐步排查可能的原因,并根据情况进行相应的修改和调整。
参考资料
【连接池性能之druid】Connection Close的问题,通过配置Druid的泄露检测机制解决_人工智的博客-CSDN博客
使用druid连接池的超时回收机制排查连接泄露问题-阿里云开发者社区
Druid源码阅读8-DruidDataSource的removeAbandoned机制-腾讯云开发者社区-腾讯云
ES版本6.8.23依赖是否调整:https://mvnrepository.com/artifact/org.nlpcn/elasticsearch-sql/6.8.13.0
更多推荐
所有评论(0)