先说问题:
我在服务器上有个mysql数据,我有项目的A,B,C,如果每个项目都用durid连接池管理,(如下),部署之后,是不是就是相当于3倍?
同时想问,按照durid的机制,是不是一个数据库就只由一个含有durid的项目管理就行了, 不能有第二个?
因为现在项目部署到上面总是出现connnect为空,或者handler为空,或者又被告知commit之后不能进行操作。
filters=stat
initialSize=5
maxActive=10
maxWait=5000
maxIdle=6
minIdle=3
timeBetweenEvictionRunsMillis=1500
minEvictableIdleTimeMillis=2000
validationQuery=SELECT 1
testWhileIdle=true
testOnBorrow=false
testOnReturn=false
maxPoolPreparedStatementPerConnectionSize=0
logAbandoned=true
removeAbandonedTimeout=86400
removeAbandoned=true
poolPreparedStatements=false
数据库支持客户端连接,durid对于数据库来说,只是一个客户端而已,它可以和数据库建立多个连接。durid没有和数据库连接的限制
数据库连接池可以配置在容器上,也可以配置在项目上。配置在项目上,可以保证每个项目的连接数量,配置在容器上,所有容器中的项目共享,可能存在某个项目占用过多,其他项目获得不到连接。
解决你的问题,可以增加数据库连接数,如果数据库的性能不够,考虑增加数据库资源,如CPU/内存,或分库
你仔细想想看,如果你分析的是对的,那么单数据库服务,应用双活的情况,是不是没法活了。