com.alibaba.druid.pool.DruidAbstractDataSource - discard long time none received connection.

问题

2024-06-19 15:36:00.543 [accountClusteredScheduler_Worker-6] WARN  com.alibaba.druid.pool.DruidAbstractDataSource - discard long time none received connection. , jdbcUrl : jdbc:mysql://192.168.10.169:3306/zhbs_temp?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&allowPublicKeyRetrieval=true, version : 1.2.8, lastPacketReceivedIdleMillis : 68637
2024-06-19 15:36:00.546 [accountClusteredScheduler_Worker-6] WARN  com.alibaba.druid.pool.DruidAbstractDataSource - discard long time none received connection. , jdbcUrl : jdbc:mysql://192.168.10.169:3306/zhbs_temp?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&allowPublicKeyRetrieval=true, version : 1.2.8, lastPacketReceivedIdleMillis : 109880

具体问题方案

日志条目表明Druid连接池正在丢弃数据库连接,因为这些连接在未接收任何数据包的情况下闲置了很长时间。这是连接池管理策略的一部分,旨在保持效率并防止连接变得陈旧。

以下是日志关键点的解析:

  • 时间戳:两个警告都发生在2024年6月19日15:36:00,毫秒级略有差异(.543和.546),表明这些事件几乎同时发生。

  • 日志级别:消息被记录为WARN,通常表示虽非错误但可能需要关注的情况,以防止潜在问题。

  • 来源:警告源自com.alibaba.druid.pool.DruidAbstractDataSource,这是Druid JDBC连接池库的一个组件,广泛用于Java应用程序中管理数据库连接。

  • 操作:“丢弃长时间未接收连接”描述的是连接池检测到某些数据库连接闲置(既未发送也未接收数据)超过了指定阈值,因此决定关闭它们。这有助于避免资源泄露,并确保应用使用新鲜、响应迅速的连接。

  • JDBC URL:受影响的数据库连接详情为 jdbc:mysql://192.168.10.169:3306/zhbs_temp,指代一个运行在IP地址192.168.10.169、端口3306上的MySQL数据库,数据库名为’zhbs_temp’。连接字符串还包括如useSSL=false来禁用SSL、useUnicode=truecharacterEncoding=utf-8用于字符编码,以及时区和查询选项的设置。

  • 版本:使用的Druid连接池版本是1.2.8。

  • lastPacketReceivedIdleMillis:这个值表示连接在被丢弃前处于空闲状态的持续时间(以毫秒计)。第一条日志中,连接空闲了68,637毫秒(约1分9秒),第二条日志中为109,880毫秒(约1分50秒)。这些时长超出了连接池配置的空闲超时限制,导致连接被丢弃。

建议行动

  1. 检查连接池配置:审查Druid配置设置,特别是maxIdleminEvictableIdleTimeMillis属性,确保它们适合你的应用需求。minEvictableIdleTimeMillis设置了连接可以被驱逐的最短空闲时间,你可能需要根据观察到的空闲时间和应用使用模式调整这一设置。

  2. 监控应用行为:观察应用是否有效地利用数据库连接并在不再需要时关闭它们。频繁地丢弃连接可能表明应用代码中存在资源管理不善或配置不当的问题。

  3. 调优:如果尽管配置适当但仍频繁出现空闲超时,考虑调整连接池大小设置(例如initialSizemaxActive),以更好地匹配应用的峰值负载需求。

  4. 分析应用使用模式:调查为什么连接会被闲置这么长时间。这可能指示了低活动期,或是应用的特定部分未能有效管理数据库资源。

解决这些问题可以帮助优化数据库连接性,提升应用性能,并防止不必要的资源浪费。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java我跟你拼了

您的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值