数据库连接池

本文通过使用ab命令测试了不同数据库连接池方案的性能表现,包括Spring自带的DriverManagerDataSource、dbcp、c3p0及proxool。结果显示c3p0在高并发环境下表现更佳。

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

用ab命令来测试数据库的连接池
ab -n 1000 -c 20 http://localhost:8085/tristanSpringMVC03/user/search

分别测试Spring的DriverManagerDataSource,dbcp, c3p0, proxool
500的错误都是获取不到DB的handler, DB的并发限制问题
ab -n 1000 -c 50
[table]
|并发50|failed|90%time|
|spring自带非连接池|933|939|
|dbcp|427|1043|
|c3p0|0|860|
|proxool|237|941|
[/table]
看来c3p0比proxool 要稳定
使用c3p0的时候注意要先访问下页面,预热下,让c3p0加载好配置在大并发测试,不然会down的


------------------------------

dbcp有bug问题连接不释放, 一般使用c3p0 或是proxool
http://blog.youkuaiyun.com/liyangbing315/article/details/4730961

spring自带的数据库连接,不是连接池
org.springframework.jdbc.datasource.DriverManagerDataSource

用其和c3p0做对比,明显能发现DriverManagerDataSource 在service层上要花更多的时间,毕竟需要开关一次, 而c3p0在第一次初始化的时候有点慢,后面就很快了

Spring自带

(com.tristan.web.dao.UserDAO.search) 185 ms
(com.tristan.web.service.UserService.search) 285 ms
(com.tristan.web.dao.UserDAO.search) 3 ms
(com.tristan.web.service.UserService.search) 20 ms
(com.tristan.web.dao.UserDAO.search) 4 ms
(com.tristan.web.service.UserService.search) 35 ms
(com.tristan.web.dao.UserDAO.search) 5 ms
(com.tristan.web.service.UserService.search) 28 ms
(com.tristan.web.dao.UserDAO.search) 4 ms
(com.tristan.web.service.UserService.search) 33 ms



c3p0

(com.tristan.web.dao.UserDAO.search) 360 ms
(com.tristan.web.service.UserService.search) 782 ms
(com.tristan.web.dao.UserDAO.search) 6 ms
(com.tristan.web.service.UserService.search) 9 ms
(com.tristan.web.dao.UserDAO.search) 3 ms
(com.tristan.web.service.UserService.search) 9 ms
(com.tristan.web.dao.UserDAO.search) 7 ms
(com.tristan.web.service.UserService.search) 9 ms
(com.tristan.web.dao.UserDAO.search) 7 ms
(com.tristan.web.service.UserService.search) 9 ms
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值