- 浏览: 1251179 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (461)
- 心得体会 (166)
- Hibernate (9)
- Spring (12)
- Struts1 (3)
- Ajax (4)
- Java (54)
- 其他技术 (21)
- 数据库 (29)
- EXT (0)
- Struts2 (7)
- Xml (3)
- HTML (5)
- JavaScript (12)
- 面试相关 (3)
- BLOG (11)
- 计算机 (11)
- PMP (0)
- OGNL (1)
- LINUX (79)
- AIX (1)
- Ubuntu (14)
- Android (1)
- hadoop (3)
- LINUX debian (3)
- 心得体会 eclipse (2)
- JSTL (1)
- 心得体会 hadoop cdh3u5 (2)
- maven (5)
- Hive (1)
- 心得体会 工具使用 (3)
- spring data jpa Query By Example(QBE) (1)
- nginx (2)
- Apache (1)
- mysql (6)
- LINUX mysql (2)
- freemaker (1)
- 心得体会 FastDFS Nginx 断点续传 (1)
- LINUX FastDFS Nginx 断点续传 (1)
- 心得体会 Mybatis (2)
- 心得体会 mysql (4)
- php (1)
- logback 简介 (5)
- EL (1)
- Tomcat (2)
- win7 (1)
- LINUX maven (1)
- scrumworks (1)
- linux nginx (6)
- svn linux (1)
- mac (3)
- mac git (1)
- git (1)
- nexus (2)
- golang (1)
- LINUX Redis (1)
- mac oracle (1)
最新评论
-
a785975139:
有用
MySQL Error :SHOW PROFILES -
yijiulove:
弄了半天,参照你的方法解决了.特来感谢,知道可能是先加载,但是 ...
Spring和Mybatis整合时无法读取properties的处理方案 -
chenjinqi1987:
Missing com.sun.jdmk:jmxtools:jar:1.2.1 -
leifeng2:
请问怎么使用,运行之后d盘符没有生产音频文件呢?
java录音程序 -
sundful:
chenghong726 写道你好,我也遇到你这样的问题,按照 ...
Spring和Mybatis整合时无法读取properties的处理方案
二、BoneCP主要配置参数
1.jdbcUrl
设置数据库URL
2.username
设置数据库用户名
3.password
设置数据库密码
4.partitionCount
设置分区个数。这个参数默认为1,建议3-4(根据特定应用程序而定)。
为了减少锁竞争和改善性能,从当前线程分区(thread-affinity)中获取一个connection,
也就是这个样子:partitions[Thread.currentThread().getId() % partitionCount]
。当拥有充足的短期(short-lived)的线程时候,这个参数设置越大,性能越好。当超过一定的阀值时,连接池的维护工作就可能对性能造成一定的负面影响(仅当分区上的connection使用耗尽时)。
5.maxConnectionsPerPartition
设置每个分区含有connection最大个数。这个参数默认为2。如果小于2,BoneCP将设置为50。
比如:partitionCount设置为3,maxConnectionPerPartition设置为5,你就会拥有总共15个connection。
注意:BoneCP不会将这些connection一起创建出来,而是说在需要更多connection的时候从minConnectionsPerPartition参数开始逐步地增长connection数量。
6.minConnectionsPerPartition
设置每个分区含有connection最大小个数。这个参数默认为0。
7.acquireIncrement
设置分区中的connection增长数量。这个参数默认为1。
当每个分区中的connection大约快用完时,BoneCP动态批量创建connection,
这个属性控制一起创建多少个connection(不会大于maxConnectionsPerPartition)。
注意:这个配置属于每个分区的设置。
8.poolAvailabilityThreshold
设置连接池阀值。这个参数默认为20。如果小于0或是大于100,BoneCP将设置为20。
连接池观察线程(PoolWatchThread)试图为每个分区维护一定数量的可用connection。
这
个数量趋于maxConnectionPerPartition和minConnectionPerPartition之间。这个参数是以百分比的形式来
计算的。例如:设置为20,下面的条件如果成立:Free Connections / MaxConnections <
poolAvailabilityThreshold;就会创建出新的connection。
换句话来说连接池为每个分区至少维持20%数量的可用connection。
设置为0时,每当需要connection的时候,连接池就要重新创建新connection,这个时候可能导致应用程序可能会为了获得新connection而小等一会。
9.connectionTimeout
设置获取connection超时的时间。这个参数默认为Long.MAX_VALUE;单位:毫秒。
在调用getConnection获取connection时,获取时间超过了这个参数,就视为超时并报异常。
三、BoneCP线程配置参数
1.releaseHelperThreads
设置connection助手线程个数。这个参数默认为3。如果小于0,BoneCP将设置为3。
设置为0时,应用程序线程被阻塞,直到连接池执行必要地清除和回收connection,并使connection在其它线程可用。
设置大于0时,连接池在每个分区中创建助手线程处理回收关闭后的connection(应用程序会通过助手线程异步地将这个connection放置到一个临时队列中进行处理)。
对于应用程序在每个connection上处理大量工作时非常有用。可能会降低运行速度,不过在高并发的应用中会提高性能。
2.statementReleaseHelperThreads
设置statement助手线程个数。这个参数默认为3。如果小于0,BoneCP将设置为3。
设置为0时,应用程序线程被阻塞,直到连接池或JDBC驱动程序关闭statement。
设置大于0时,连接池会在每个分区中创建助理线程,异步地帮助应用程序关闭statement当应用程序打开了大量的statement是非常有用的。可能会降低运行速度,不过在高并发的应用中会提高性能。
3.maxConnectionAge
设置connection的存活时间。这个参数默认为0,单位:毫秒。设置为0该功能失效。
通过ConnectionMaxAgeThread
观察每个分区中的connection,不管connection是否空闲,如果这个connection距离创建的时间大于这个参数就会被清除。当前正在使用的connection不受影响,直到返回到连接池再做处理。
4.idleMaxAge
设置connection的空闲存活时间。这个参数默认为60,单位:分钟。设置为0该功能失效。
通过ConnectionTesterThread
观察每个分区中的connection,如果这个connection距离最后使用的时间大于这个参数就会被清除。
注意:这个参数仅和idleConnectionTestPeriod搭配使用,而且不要在这里设置任何挑衅的参数!
5.idleConnectionTestPeriod
设置测试connection的间隔时间。这个参数默认为240,单位:分钟。设置为0该功能失效。
通过ConnectionTesterThread
观察每个分区中的connection, 如果这个connection距离最后使用的时间大于这个参数并且距离上一次测试的时间大于这个参数就会向数据库发送一条测试语句,如果执行失败则将这个connection清除。
注意:这个值仅和idleMaxAge搭配使用,而且不要在这里设置任何挑衅的参数!
三、BoneCP可选配置参数
1.acquireRetryAttempts
设置重新获取连接的次数。这个参数默认为5。
获取某个connection失败之后会多次尝试重新连接,如果在这几次还是失败则放弃。
2.acquireRetryDelay
设置重新获取连接的次数间隔时间。这个参数默认为7000,单位:毫秒。如果小于等于0,BoneCP将设置为1000。
获取connection失败之后再次尝试获取connection的间隔时间。
3.lazyInit
设置连接池初始化功能。这个参数默认为false。
设置为true,连接池将会初始化为空,直到获取第一个connection。
4.statementsCacheSize
设置statement缓存个数。这个参数默认为0。
5.disableJMX
设置是否关闭JMX功能。这个参数默认为false。
6.poolName
设置连接池名字。用于当作JMX和助手线程名字的后缀。
四、BoneCP调试配置参数
1.closeConnectionWatch
设置是开启connection关闭情况监视器功能。这个参数默认为false。
每当调用getConnection()时,都会创建CloseThreadMonitor
,监视connection有没有关闭或是关闭了两次。警告:这个参数对连接池性能有很大的负面影响,慎用!仅在调试阶段使用!
2.closeConnectionWatchTimeout
设置关闭connection监视器(CloseThreadMonitor)持续多长时间。这个参数默认为0;单位:毫秒。仅当closeConnectionWatch参数设置为可用时,设置这个参数才会起作用。
设置为0时,永远不关闭。
3.logStatementsEnabled
设置是否开启记录SQL语句功能。这个参数默认是false。
将执行的SQL记录到日志里面(包括参数值)。
4.queryExecuteTimeLimit
设置执行SQL的超时时间。这个参数默认为0;单位:毫秒。
当查询语句执行的时间超过这个参数,执行的情况就会被记录到日志中。
设置为0时,该功能失效。
5.disableConnectionTracking
设置是否关闭connection跟踪功能。这个参数默认为false。
设置为true,连接池则不会监控connection是否严格的关闭;设置为false,则启用跟踪功能(仅追踪通过Spring或一些事务管理等机制确保正确释放connection并放回到连接池中)。
6.transactionRecoveryEnabled
设置事务回放功能。这个参数默认为false。
设置为true时,MemorizeTransactionProxy可以记录所有在connection上操作的情况,当connetion操作失败的时候会自动回放先前的操作,如果在回放期间还是失败,则抛出异常。注意:这个功能会使连接池微弱地降低运行速度
发表评论
-
springboot中spring.profiles.include的妙用
2019-09-30 10:03 1999我们有这样的一个spring ... -
java8--List转为Map、分组、过滤、求和等操作
2018-09-14 16:07 2815利用java8新特性,可以用简洁高效的代码来实现一些数据 ... -
intelliJ IDEA 文件修改之后的蓝色
2018-04-12 10:37 2438intelliJ IDEA链接svn之后,当文件发生修 ... -
Restful与webService区别
2018-02-13 09:59 778有好多人问我们在设计底层服务的时候到底是应该选 ... -
InputStream为什么不能被重复读取?
2017-07-17 14:36 952首先,熟悉Java的人可能都知道,Java中的Inputst ... -
CentOS下SWAP分区建立及释放内存
2016-02-18 14:20 3673方法一: 一、查看系统当前的分区情况:>free - ... -
CentOS下挂载硬盘(fdisk,mkfs.ext4,mount)
2016-02-18 13:55 7110centos挂载硬盘 挂载硬盘步骤: 1. 先分区 ... -
七个对我最重要的职业建议
2015-12-17 13:19 577Nicholas C. Zakas 是全世 ... -
Centos安装Vsftpd
2015-11-03 19:10 883安装部分摘自开源中国,最后红色部分解决无法登陆(cannot ... -
在logback中配置mybatis显示sql
2015-07-08 11:56 1184第一种方式、直接在logback.xml配置文件中添加: ... -
git 删除远程分支
2015-06-25 14:58 1015一不小心把本地的临时分支push到server上去了,想要删除 ... -
httpclient 上传、下载文件
2015-04-20 18:53 1100/** * 上传文件 * @throws Pars ... -
Java 7, Jenkins, Ubuntu 12.10 64bit issues
2015-01-20 16:44 880While installing Jenkins 1.486 ... -
在CentOS中安装中文字体
2014-08-08 14:25 1850以linux下安装宋体,黑体为例,介绍字体安装方法:第一步、 ... -
JCaptcha 验证码添加干扰线,显示中文验证码
2014-08-08 13:30 8627import java.awt.Color; import ... -
nginx记录post参数和自定义头信息
2014-08-01 19:10 21021.版本:nginx/1.4.4 记录post参数: ... -
理解 JMeter 聚合报告(Aggregate Report)
2014-06-27 17:01 9666Aggregate Report 是 JMeter 常用的一 ... -
系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式
2014-06-26 14:34 2372一.系统吞度量要素: ... -
web 性能测试中的几个关键指标:并发用户数,QPS,用户平均请求等待时间
2014-06-26 13:40 1058关于并发用户数和QPS,自己一直被这两个概念纠结,阅读了一下相 ... -
QPS、PV和需要部署机器数量计算公式(转)
2014-06-26 11:33 1220术语说明:QPS = req/sec = 请求数/秒 【Q ...
相关推荐
在这个文件中,`<default-config>`标签用于定义全局配置参数。 2. **jdbcUrl**: 这个参数用于设置数据库的URL,它是连接数据库的关键信息,包括数据库类型、主机名、端口号以及数据库名称等。 3. **username**和...
本文将深入探讨BoneCP的主要配置参数及其作用,帮助开发者更好地理解和运用BoneCP。 #### 一、骨架构造——配置文件格式 BoneCP的配置文件通常采用XML格式,如`bonecp-config.xml`所示。其基本结构包括: 1. **`...
2. **主要配置参数**: - **jdbcUrl**: 指定数据库的URL,包括数据库类型、服务器地址、端口号以及数据库名等信息。 - **username**: 设置连接数据库所需的用户名。 - **password**: 对应的数据库密码。 - **...
在本文中,我们将深入探讨如何将Spring、Mybatis与BoneCP数据库连接池集成,并通过一个实际的配置案例来展示这一过程。Spring是一个流行的Java应用程序框架,提供了强大的依赖注入功能;Mybatis是一个简单易用的持久...
本文将详细介绍BoneCP的主要配置参数及其默认值,帮助开发者更好地理解和使用该连接池。 #### 1. `jdbcUrl` **含义:** 数据库的URL地址。 **示例:** `jdbc:mysql://localhost:3306/mydatabase`,用于指定数据库...
在这个实例中,我们将学习如何通过XML配置文件来使用BoneCP,以及如何在Java代码中加载这个配置。 首先,我们需要理解BoneCP的配置文件`bonecp-config.xml`。这个文件是 BoneCP 连接池的核心,用于定义数据库连接的...
本篇文章将深入探讨DBCP(Database Connection Pool)、C3P0和BoneCP这三种常用的Java数据库连接池的参数配置,以帮助开发者优化数据库访问。 ### DBCP连接池参数说明 DBCP是Apache Commons库的一部分,它提供了...
5. **性能优化**:根据实际应用需求调整配置参数,如增加分区数量、调整连接池大小、启用连接预热等,以达到最佳性能。 6. **监控与日志**:BoneCP 支持日志记录,可以通过设置 `logStatementsEnabled` 参数开启SQL...
- 然后,配置 BoneCP 配置文件(通常是`bonecp.properties`),设置数据库连接参数,如: ``` # 数据库URL jdbcUrl=jdbc:mysql://localhost:3306/mydb # 用户名 username=myuser # 密码 password=mypassword...
下面是一个简单的BoneCP配置和使用示例: 首先,在项目中添加 BoneCP 的依赖。如果你使用的是 Maven,可以在 `pom.xml` 文件中添加如下依赖: ```xml <groupId>com.jolbox</groupId> <artifactId>bonecp ...
BoneCP 数据源是一种高效、快速的数据连接池技术,它被设计用于提高应用程序处理数据库连接的性能和效率。...在实际应用中,根据项目的具体需求和环境,对上述配置参数进行调整,以达到最优的性能表现。
在Java项目中,通常会通过`bonecp.properties`配置文件来设定参数,例如: ```properties # 数据库连接信息 jdbc.url=jdbc:mysql://localhost:3306/test jdbc.username=root jdbc.password=root # 连接池大小配置 ...
在Spring3中配置数据源,包括DBCP,C3P0,Proxool,Bonecp主要的数据源,里面包含这些数据源的jar文件和依赖文件及配置文件。。 如Bonecp目前听说是最快的数据源,速度是传统的c3p0的25倍, bonecp.properties文件: ...
# BoneCP配置示例 bonecp.minPoolSize=5 bonecp.maxPoolSize=20 bonecp.acquireIncrement=3 bonecp.idleMaxAge=60 bonecp.testConnectionOnCheckin=true ``` 然后,你可以通过以下方式获取和释放数据库连接: ```...
BoneCP是一款轻量级的Java数据库连接池(JDBC Connection Pool)框架,它以其高效、易用性而受...在实际应用中,开发者需要根据项目需求配置 BoneCP 的各项参数,并选择合适的日志实现,以确保数据库连接池的最佳性能。
7. **配置和性能调优**:BoneCP允许开发者通过配置参数调整连接池的大小、超时时间、连接验证频率等,以适应不同的应用需求和环境。 在实际使用中,开发者需要注意 BoneCP的配置优化,如合理设置最小、最大连接数,...
BoneCP的主要特点包括: 1. **高性能**:BoneCP通过优化线程池和连接管理策略,实现了比其他连接池更高的并发性能。 2. **轻量级**: BoneCP的内存占用小,对系统资源的需求较低,适合于内存有限的环境。 3. **易用...
- **灵活的配置**:可以通过配置文件或代码设置各种参数,如最小/最大连接数、超时时间、连接验证策略等。 在使用BoneCP时,开发人员通常需要进行以下步骤: 1. 添加依赖:将上述JAR文件加入项目类路径。 2. 配置...
1. **初始化配置**:BoneCP的配置主要通过` BoneCPConfig`类完成,你可以设置各种参数,如最大连接数、最小连接数、超时时间等。 2. **连接池的创建**:使用` BoneCP`类的静态方法`getInstance()`创建连接池实例,...