dbcp,c3p0,proxool三种数据库连接池比较(基于Oracle9i)

本文通过实验对比了DBCP、C3P0和Proxool三种数据库连接池在不同并发条件下的性能表现。结果显示,在同等条件下DBCP和C3P0的平均响应时间优于Proxool,且二者能更好地支持高并发场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DBCP ,C3P0和 PROXOOL
三种常用开源数据库连接池的性能比较
——基于Oracle 9i
版本:V2.0
日期:2009-9-28
作者:孙欢欢([url=mailto:shh-cc@163.com]shh-cc@163.com[/url])
1.测试环境:
1.1 操作系统:windows xp sp3
1.2 数据库:oracle 9i
1.3 web服务器:Tomcat 6.0.20
1.4测试工具:jakarta-jmeter-2.3.4
2.测试条件:
dbcp , c3p0 , proxool的
initialSize="10"
maxldle="15"
minIdle="5"
其余参数为默认值;
[b]*从100000条数据中读出一条数据;[/b]
3. jmeter测试设置及结果
3.1 在3秒内模拟30个线程,循环5次

[img]http://dl.iteye.com/upload/attachment/179941/2a79593c-5adc-306b-9395-eabb332f562d.jpg[/img]

3.1.1 dbcp

[img]http://dl.iteye.com/upload/attachment/179943/bd959b57-970d-3369-85bb-de58e0bb18bb.jpg[/img]

3.1.2c3p0

[img]http://dl.iteye.com/upload/attachment/179945/821de5b7-b9d7-3f3d-a9bd-eac62b5a1041.jpg[/img]

3.1.3 proxool

[img]http://dl.iteye.com/upload/attachment/179947/0c4f683a-3e55-319b-ba98-2b3de07d2ea1.jpg[/img]

3.2 在3秒内模拟60个线程,循环5次

[img]http://dl.iteye.com/upload/attachment/179954/3a478ea5-3fa7-3884-bed8-79d42af0699a.jpg[/img]

3.2.1 dbcp

[img]http://dl.iteye.com/upload/attachment/179956/2f162138-a8fd-3b1b-bd90-d0cdb732cb67.jpg[/img]

3.2.2 C3p0

[img]http://dl.iteye.com/upload/attachment/179958/ab8cde13-9cae-3714-b4a1-9b2dfc533c32.jpg[/img]

3.2.3proxool

[img]http://dl.iteye.com/upload/attachment/179960/d8dd8606-b4e8-3e2c-8c3c-edece3b37a51.jpg[/img]

3.3. 在6秒内模拟60个线程,循环5次

[img]http://dl.iteye.com/upload/attachment/179962/0db8a28e-eb01-3200-88b4-59ca26a9ba03.jpg[/img]

3.3.1 dbcp

[img]http://dl.iteye.com/upload/attachment/179964/dbabb950-09d3-3830-a137-c9562d6a5774.jpg[/img]

3.3.2 c3p0

[img]http://dl.iteye.com/upload/attachment/179966/a12f9aa9-783a-3b1b-8d8e-65cc17d214ec.jpg[/img]

3.3.3 Proxool

[img]http://dl.iteye.com/upload/attachment/179968/04a2debd-222f-3d2e-9fec-8c09b4e0ae03.jpg[/img]

3.4 6秒内模拟120个进程循环5次

[img]http://dl.iteye.com/upload/attachment/179970/093bb176-1161-3e1e-adf4-967f3d4fee6e.jpg[/img]

3.4.1 dbcp

[img]http://dl.iteye.com/upload/attachment/179972/117f4fbb-f013-3e08-8b4e-4973f1c17ead.jpg[/img]

3.4.2 c3p0

[img]http://dl.iteye.com/upload/attachment/179974/63c12b30-2ca2-38a3-8497-8e7dc6ea5568.jpg[/img]

3.4.3 proxool

[img]http://dl.iteye.com/upload/attachment/179976/c31e710d-b5b3-3055-aa27-734b6f8609ab.jpg[/img]

3.5 10秒模拟120个进程循环5次
3.5.1 dbcp

[img]http://dl.iteye.com/upload/attachment/179978/e6487e41-0d19-34fb-83c7-8ab3c30b3426.jpg[/img]

3.5.2 c3p0

[img]http://dl.iteye.com/upload/attachment/179980/8e246cd3-e357-3589-b5bc-1259150009d8.jpg[/img]

3.5.3 proxool

[img]http://dl.iteye.com/upload/attachment/179982/34458c5a-6e49-390a-b83d-2fd2f00b8293.jpg[/img]

3.6 10秒模拟150个进程循环5次
3.6.1 dbcp

[img]http://dl.iteye.com/upload/attachment/179984/b17ebece-0e88-3acb-84f7-d8e576a47dbb.jpg[/img]

3.6.2 c3p0

[img]http://dl.iteye.com/upload/attachment/179986/505f8056-db1b-307e-b45c-d3eaa1aa5944.jpg[/img]

3.6.3 proxool

[img]http://dl.iteye.com/upload/attachment/179988/4d607b00-5ac5-3af1-8ea5-5cad25762cbd.jpg[/img]

3.7 10秒模拟200个进程循环5次
3.7.1 dbcp

[img]http://dl.iteye.com/upload/attachment/179990/18e7ff94-1282-303b-8b6c-e64ec09f89ff.jpg[/img]

3.7.2 c3p0

[img]http://dl.iteye.com/upload/attachment/179992/697efa29-7764-3569-bd67-7cb97afebcdc.jpg[/img]

3.7.3 proxool

[img]http://dl.iteye.com/upload/attachment/179994/9db13dc2-446d-3fdc-b0cd-d8d782316190.jpg[/img]

4.测试结果分析:
(1)相同时间内同等量的线程数和循环次数下:通过对三个连接池的三个标志性性能测试参数(Average,median,90%Line)进行比较发现:dbcp=c3p0>proxool
5. 测试结论
通过对三种数据库连接池的性能测试发现,dbcp和c3p0 能够更好的支持高并发,但是在稳定性方面,c3p0略逊于DBCP。
注:(个人认为此原因可能是由于tamcat与dbcp同属Apache旗下的缘故,dbcp可能针对tamcat采取了优化。也许在其他服务器下会得出截然相反的结果。)
7
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值