com.alibaba.druid检测排查数据库连接数不释放定位代码怎么写

本篇文章为大家展示了com.alibaba.druid检测排查数据库连接数不释放定位代码怎么写,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

为荆州等地区用户提供了全套网页设计制作服务,及荆州网站建设行业解决方案。主营业务为成都网站建设、做网站、荆州网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

1、可能标题说的很不明白,其实就是这样一个情况,一个工程项目错误日志出现GetConnectionTimeoutException: wait millis 90000, active 22000的异常,如下:

com.alibaba.druid检测排查数据库连接数不释放定位代码怎么写

2、最先想到的是提高数据库本身的最大连接数,查看一下数据库连接数是否过小,平衡一下工程的使用量级别和并发级别,其中查询数据库的小语句如下:

select value as processes_max from v$parameter where name ='processes';  --数据库允许的最大连接数  结果4000

select count(*) as process_now from v$process; --当前进程连接数

select value as session_max from v$parameter where name ='sessions'; --数据库最大session数

select count(*) as session_now from v$session;  --当前的session连接数
 
select count(*) as active_now from v$session where status='ACTIVE'; --并发连接数

3、但是当把数据库最大连接数也调整到合理的数字了,并且druid的基本配置也是没有什么毛病,这个可以网上搜索,有很多druid的常规配置文章参考。如果还有连接数不够的异常出现,这就要考虑是否程序本身存在没有回收的连接数、会话数等开支,日积月累在某个时刻,比如访问量高峰达到了饱和。那么可以添加druid的配置来帮助你监测,哪里没有回收。

        
        4、这回注意抓取和分析日志,如下5、结果进入具体的java类排查代码,发现存在session没有回收的问题。解决掉。

上述内容就是com.alibaba.druid检测排查数据库连接数不释放定位代码怎么写,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


本文标题:com.alibaba.druid检测排查数据库连接数不释放定位代码怎么写
标题URL:http://pwwzsj.com/article/pjppcj.html