最近用c3po来跨网段连接远程的oracle数据库,为了防止连接断开,在连接池里配置了testConnectionOnCheckout,因为c3po的文档里说这个对性能影响很严重,所以用程序测试了一下。程序很简单,就是获取一个ComboPooledDataSource,然后执行10000次循环,每次循环内获取一个连接,执行一次查询。c3po的初始设置是minPoolSize 5, maxPoolSize 20, acquireIncrement 5,然后一个个叠加设置属性。测试结果如下:
第一次:
无任何特殊设置 13秒
设置TestConnectionOnCheckout 35秒
设置AutomaticTestTable 23秒
设置PreferredTestQuery 24秒
第二次:
无任何特殊设置 21秒
设置TestConnectionOnCheckout 35秒
设置AutomaticTestTable 22秒
设置PreferredTestQuery 24秒
第三次:
无任何特殊设置 13秒
设置TestConnectionOnCheckout 33秒
设置AutomaticTestTable 24秒
设置PreferredTestQuery 24秒
根据这个结果,如果确实需要设置TestConnectionOnCheckout的话,一定要设置AutomaticTestTable,至于PreferredTestQuery,可有可无,不设置也行。
分享到:
相关推荐
C3P0作为一款轻量级的连接池组件,适用于各种Java应用服务器,尤其适合小型项目或者对性能要求不高的场景。它支持JDBC 3.0和4.0规范,提供线程安全的数据库连接管理,有效减少了数据库连接的创建和关闭时间,从而...
C3P0是一个纯Java编写的持久层框架,它可以显著提高对数据库连接的管理和使用效率。C3P0的核心类`ComboPooledDataSource`提供了一种高效的连接池实现。 #### 二、C3P0连接池的使用方法 ##### 1. 导入所需Jar包 在...
- 获取连接时的最大等待时间: ```java cpds.setMaxIdleTime(60); // 单位:秒 ``` - 连接测试的SQL语句: ```java cpds.setTestConnectionOnCheckout(true); cpds.setValidationQuery("SELECT 1"); ``` 4...
本文将深入探讨c3po连接池的各项参数配置及其作用,帮助开发者更好地理解和利用这些配置项来优化其应用系统的数据库访问性能。 #### 二、参数配置解析 根据提供的c3p0配置示例,我们将逐一解析其中的关键参数及其...
commons-dbcp-1.2.1.jar //连接池的实现 commons-pool.jar //连接池实现的倚赖库 commons-collection.jar //连接池实现的倚赖库 c3po0.902.jar 只要解压dbcppoolcollectionc3po.rar即可
C3P0是一个开源的Java连接池,全称为Comprehensive Connection Pooling Packages,它提供了对JDBC连接的管理,能够有效地提升数据库操作的性能和稳定性。这个“c3po jar包”是C3P0库的Java归档(JAR)文件,用于集成...
**c3po** 是一个广泛使用的Java数据库连接池(JDBC Connection Pool)库,它提供了对JDBC数据库连接的管理,使得多个并发的程序能够高效地共享数据库连接,避免了频繁创建和销毁连接的开销。c3po的全称是`...
C3P0还提供了其他高级特性,如自动测试连接、自动重连、连接验证等。例如,通过设置`idleTestPeriod`,可以定时检测连接的有效性,防止因长时间未使用导致的连接失效。另外,C3P0支持多数据源配置,可以在一个应用中...
默认值是30次,意味着如果连续30次无法从数据库获取连接,C3P0会停止尝试。 3. `acquireRetryDelay`: 这是两次连接获取尝试之间的间隔时间,单位为毫秒。默认值是1000毫秒,即1秒。每次失败后,C3P0会等待设定的...
- `breakAfterAcquireFailure`:当获取连接失败后,是否立即关闭数据源,默认为false,表示数据源会继续尝试获取连接。 接下来,Proxool是另一个流行的数据连接池实现,它提供了一些独特的特性,如连接池的动态扩展...
1. **连接池管理**:C3P0维护一个数据库连接池,可以预先配置一定数量的数据库连接,当应用程序需要时可以从池中获取,使用完毕后归还,而不是每次操作都新建和关闭连接。 2. **自动测试连接**:C3P0会定期检查池中...
在"springmvc_mybaits(c3po)"项目中,我们看到的是这两个框架集成使用,同时还有C3P0数据库连接池的配置。接下来,我们将深入探讨这三个关键组件及其相互作用。 首先,SpringMVC是一个模型-视图-控制器(MVC)架构...
4. **连接配置**:C3P0提供了丰富的配置选项,允许开发者调整连接池大小、空闲超时时间、获取连接的超时时间等参数,以适应不同的应用场景。 5. **事务支持**:C3P0支持JTA(Java Transaction API),可以方便地在...
1. **配置灵活性**:C3P0 提供了丰富的配置选项,允许开发者根据实际需求调整连接池的行为,如最大连接数、最小连接数、获取连接的超时时间等。 2. **连接测试**:C3P0 可以在获取和归还连接时进行有效性测试,确保...
2. **hibernate-c3p0-4.0.0.Final[1].jar**: 这个JAR文件是Hibernate对C3P0连接池的支持模块。Hibernate是一个流行的Java对象关系映射(ORM)框架,它允许开发者使用面向对象的方式操作数据库。`hibernate-c3p0`模块...
例如,`minPoolSize`设定最小连接数,`maxPoolSize`设定最大连接数,`checkoutTimeout`设定获取连接的超时时间。 3. **连接生命周期管理** C3P0源码中包含连接的创建、验证、回收和销毁流程。连接创建后,C3P0会...