[原创]非活动数据库连接被强制收回的问题_OpenStack, 云计算等杂项讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  OpenStack, 云计算等杂项讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4249 | 回复: 0   主题: [原创]非活动数据库连接被强制收回的问题        上一篇   下一篇 
linlin.yi
注册用户
等级:少校
经验:1024
发帖:75
精华:1
注册:2013-11-8
状态:离线
发送短消息息给linlin.yi 加好友    发送短消息息给linlin.yi 发消息
发表于: IP:您无权察看 2014-4-9 17:47:43 | [全部帖] [楼主帖] 楼主

1.问题描述
在日志中发现非活动数据库连接被强制收回的问题
北京联动北方科技有限公司北京联动北方科技有限公司
北京联动北方科技有限公司

       同时从console控制台上可以看到JDBC连接池的监控数据中,确实存在因为连接泄漏嫌疑回收的连接

           北京联动北方科技有限公司

但是解决了“2.WLP登录速度很慢问题之后,从console控制台上监测JDBC连接池,已经看不到因为连接泄漏嫌疑而被收回的连接了。
2.问题分析

该警告信息提示���是数据库JDBC连接从连接池中被取出之后,在固定的时间内(Inactive Connection Timeout在安徽电力配置为5秒钟)并没有数据操作。超过这个时间后,WebLogic Server会自动的把该连接强制收回到连接池中。

console控制台上看到的连接泄漏问题,初步分析是因为之前存在内存不足的问题,从而导致WebLogic Server性能很差,进而导致应用如果从JDBC连接池取出连接后,可能会在配置的Inactive Connection Timeout5秒内没有数据响应,所以WebLogic Server会根据这个配置认为该连接为连接泄漏嫌疑的连接,从而把该连接强制收回到连接池中。


3.分析结论

Inactive Connection Timeout参数的含义是:应用从数据库连接池中取走一个连接后,如果应用写的有问题导致该连接无法释放回到连接池中,从而导致该连接被泄漏掉。如果应用很难排除该问题,可以使用Inactive Connection Timeout参数让WebLogic Server在指定的时间后强制把该连接强制收回到连接池中。

Inactive Connection Timeout参数只限于有泄漏嫌疑的连接,并不推荐用于正常的业务操作时间比较畅的连接。

使用Inactive Connection Timeout参数的前提是确认应用确实存在连接泄漏的情况。

但是解决了“2.WLP登录速度很慢问题之后,从console控制台上监测JDBC连接池,已经看不到因为连接泄漏嫌疑而被收回的连接了。

4.建议  

由于Inactive Connection Timeout参数是之前已经配置的,而且也无法追踪到当初为什么设置该参数,所以建议:

1)如果需要使用Inactive Connection Timeout参数,建议把现在的5秒改大一些。现在的5秒配置比较小,根据业务取走连接使用的最长时间来判断该数据。如果没有参考数据,可以考虑调整为30秒左右。

2)长期观察使用了Inactive Connection Timeout参数的连接池的使用情况,如果在长时间内(例如一周或者半个月或者一个月),并未在console控制台上观察到连接泄漏嫌疑的连接,那么可以考虑把Inactive Connection Timeout参数设为0




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论