alibaba / druid

阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品,为监控而生的数据库连接池
https://github.com/alibaba/druid/wiki
Apache License 2.0
27.9k stars 8.57k forks source link

关于连接数的问题。 #2353

Open shifop opened 6 years ago

shifop commented 6 years ago

问题描述: 有两个程序使用druid连接oracle数据库,我将最小空闲,最大活跃,初始大小都设置为1,而程序运行了几天后,我查询数据库的连接数发现,连接数达到了5,正常的话应该是2吧?

我看了不同连接的连接时间,分别是23号0点,23号1点,23号2点,24号2点,26号2点,程序是在22号运行的,设置成1点和2点的时候跑一次操作数据库的任务。

补充: 我在24号的时候查了一次连接数,发现是0!!!!,这就很奇怪了为什么是0?

其他: druid版本:0.2.9 oracle版本:10 jdk版本:1.7 查询连接的sql语句:select * from ggs.V_SESSION 没有连接泄漏。

还要补充其他信息吗?

wenshao commented 6 years ago

https://github.com/alibaba/druid/releases/tag/1.1.8 https://github.com/alibaba/druid/wiki/KeepAlive_cn 升级到最新版,配置KeepAlive

shifop commented 6 years ago

@wenshao 按你说的修改后,问题仍然存在,我使用的框架是jfinal,所以没有按你给的链接那样启动keepAlive, 初始化相关代码如下 DruidDataSource ds = new DruidDataSource(); ds.setKeepAlive(true); ds.setInitialSize(1); ds.setMinIdle(1); ds.setMaxActive(1); ds.setMinEvictableIdleTimeMillis(1800000); 这样设置有问题吗? 如果没问题,已经设置了最小空闲,最大活跃,初始大小都为1,正常的话连接数应该是保持在1吧?而实际上每天增加了一个连接数(程序每天定时跑一次).这是什么原因?