Weblogic 数据库连接池溢出解决方法

发布时间:2023年12月18日

引言

在信息运维工作中发现,由于部分应用系统编写的代码不够健壮,对于数据库连接没有及时进行回收处理,造成Weblogic数据库连接池溢出,影响系统的稳定运行。其实Weblogic提供了数据库连接的回收机制,可以将超过配置时间没有活动的数据库连接进行强制回收。

现象描述

应用系统的数据库连接数设置明显比预测的值要高,但还是出现数据库连接数不足的问题。

<BEA-000627> <Reached maximum capacity of pool "JDBC-YCPX", making "0" new resource instances instead of "200".>

  1. 处理过程

修改JDBC高级配置参数:Configurationà?Connection PoolàAdvanced。

此参数的含义为:保留连接处于不活动状态的时间(单位:S),设置的时间过后 WebLogic将强制收回未由应用程序关闭的连接。

请注意,不能使用此功能来代替正常关闭连接。

如果设置为 0,此功能将被禁用。

建议修改参数值为300(5分钟后,如果当前连接仍然处于不活动状态,此连接将会收回)

  1. 原因分析

应用系统编写的代码不够健壮,对于数据库连接没有及时进行回收处理,造成Weblogic数据库连接池益处,影响系统的稳定运行。

  1. 经验总结

解决数据库连接数不足的问题,可以增加数据库连接数配置,但通过应用系统登录人数预测,数据库连接数配置可以满足业务需求的情况下,如果还是出现数据库连接数不足的问题,应该确定应用系统的代码存在没有及时回收数据库连接的问题,可以配置通过Weblogic强制回收数据库连接。

Weblogic数据库连接配置注意一下方面:

  1. 设置连接池容量的初始值等于最大值,减少新建连接的开销。
  2. 开启WebLogic强制回收连接。Inactive Connection Timeout(一定时间后强制收回连接)参数。
  3. 当数据库不稳定时,可打开Test Reserved Connections高级参数。
文章来源:https://blog.csdn.net/CHENSMALLYUN/article/details/134954121
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。