注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

星期五

明天不上班

 
 
 

日志

 
 
关于我

一个特立独行的Java程序员,比较宅,上上网,写博客,听音乐,看电影。

网易考拉推荐

关于DBCP数据库连接池的总结  

2013-11-26 19:06:44|  分类: Java |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
DBCP配置参数详解:
dataSource : 连接的 datasource
defaultAutoCommit : 对于事务是否 autoCommit, 默认值为 true
defaultReadOnly : 对于数据库是否只能读取 , 默认值为 false
driverClassName : 连接数据库所用的 JDBC Driver Class,
maxActive : 可以从对象池中取出的对象最大个数,为 0 则表示没有限制,默认为 8
maxIdle : 最大等待连接中的数量 , 设 0 为没有限制 (对象池中对象最大个数)
minIdle :对象池中对象最小个数
maxWait : 最大等待秒数 , 单位为 ms, 超过时间会丟出错误信息
password : 登陆数据库所用的密码
url : 连接数据库的 URL
username : 登陆数据库所用的帐号
validationQuery : 验证连接是否成功 , SQL SELECT 指令至少要返回一行
removeAbandoned : 是否自我中断 , 默认是 false
removeAbandonedTimeout : 几秒后会自我中断 , removeAbandoned 必须为 true
logAbandoned : 是否记录中断事件 , 默认为 false
minEvictableIdleTimeMillis :大于 0 ,进行连接空闲时间判断,或为 0 ,对空闲的连接不进行验证;默认 30 分钟
timeBetweenEvictionRunsMillis :失效检查线程运行时间间隔,如果小于等于 0 ,不会启动检查线程,默认 -1
testOnBorrow :取得对象时是否进行验证,检查对象是否有效,默认为 false
testOnReturn :返回对象时是否进行验证,检查对象是否有效,默认为 false
testWhileIdle :空闲时是否进行验证,检查对象是否有效,默认为 false


在Spring中的配置

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" factory-bean="dataSourceFactory"

factory-method="getDefaultDataSource" destroy-method="close">
<property name="maxActive"><value>60</value></property>
<property name="initialSize"><value>6</value></property>
<property name="maxWait"><value>60000</value></property>
<property name="maxIdle"><value>30</value></property>
<property name="minIdle"><value>6</value></property>
<property name="removeAbandoned"><value>true</value></property>
<property name="removeAbandonedTimeout"><value>180</value></property>
<property name="testWhileIdle"><value>true</value></property>
<property name="testOnBorrow"><value>false</value></property>
<property name="testOnReturn"><value>false</value></property>
<property name="validationQuery"><value>select 1 from test</value></property>
<property name="timeBetweenEvictionRunsMillis"><value>180000</value></property>
<property name="numTestsPerEvictionRun"><value>50</value></property>
</bean>

监控数据库连接池工具
LambdaProbe 是一款强大的免费 开源 工具,LambdaProbe拥有几乎所有Tomcat Manager的功能, 可以说是一个增强版本的 Tomcat Manager。其中就提供了对Tomcat 的数据库连接池的监控,要求必须将连接池配置在Tomcat中。

另外还有一个工具
通过改造common-dbcp.jar,实现dbcp连接池的监控。
https://github.com/nicolas-raoul/Commons-DBCP-monitoring
How to Use

Usage:

  1. Replace your application's commons-dbcp-1.4.jar with commons-dbcp-1.4-monitored.jar (rename it to pretend it is really the same JAR file)
  2. Run your application, making sure the output is directed to a log file
  3. When you want, generate a graph:
    1. Run: ./generate-dbcp-graph.sh <your-output-file.log> In tomcat log file.
    2. Wait while dbcp-connected-by-thread.csv and dbcp-waiting-by-thread.csv are generated.
    3. Open the CSV files with any spreadsheet program (like LibreOffice) and use conditional formatting to end up with the table below. To create the graph below, create a SUM column for each CSV and use your spreadsheet program's graphing feature

实际测试



参考资料:

http://commons.apache.org/proper/commons-dbcp/configuration.html

  评论这张
 
阅读(507)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017