firemail

标题: 数据库连性池性能测试(hikariCP,druid,tomcat-jdbc,dbcp,c3p0) [打印本页]

作者: java    时间: 2017-7-28 10:52
标题: 数据库连性池性能测试(hikariCP,druid,tomcat-jdbc,dbcp,c3p0)

摘要: 本文主要是对这hikariCP,druid,tomcat-jdbc,dbcp,c3p0几种连接池的详细的功能和性能测试对比,通过这次测试对目前主流的一些连接池做一个全面的对比,从而给业务系统一个最佳的推荐。而唯品会venus-data支持三种连接池DBCP、C3P0、DRUID,其中C3P0作为默认的连接池。因此需要针对现状,研发一种分布式数据库连接池。

测试结论功能对比
功能
dbcp
druid
c3p0
tomcat-jdbc
HikariCP

是否支持PSCache

监控
jmx
jmx/log/http
jmx,log
jmx
jmx

扩展性

sql拦截及解析
支持

代码
简单
中等
复杂
简单
简单

更新时间
2015.8.6
2015.10.10
2015.12.09
2015.12.3

特点
依赖于common-pool
阿里开源,功能全面
历史久远,代码逻辑复杂,且不易维护
优化力度大,功能简单,起源于boneCP

连接池管理
LinkedBlockingDeque
数组
FairBlockingQueue
threadlocal+CopyOnWriteArrayList

线程
1个线程(心跳)
2个线程
4个
3个
线程的作用国内公司连接池使用情况
公司
数据库连接池

58同城
自己开发

滴滴
druid dbcp

知果果
druid

慧聪
druid dbcp

起步科技
dbcp 和 druid

亚信
hikariCP

唯品会
dbcp,druid,c3p0(默认)
性能测试环境配置:
CPU
Intel(R) Xeon(R) CPU E5-2430 v2 @ 2.50GHz,24core

msyql version
5.5.46

tomcat-jdbc version
8.0.28

HikariCP version
2.4.3

c3p0 Version
0.9.5-pre8

dbcpVersion
2.0.1

druidVersion
1.0.5
获取关闭连接性能测试

测试说明如下:

mock性能数据 (单位:ms)

连接池
5ms
20ms
50ms
100ms

tomcat-jdbc
442
447
1,013
1,264

c3p0
4,480
5,527
7,449
10,725

dbcp
676
689
867
1,292

hikari
38
33
38
30

druid
291
293
562
985

mysql性能数据 (单位:ms)

连接池
5ms
20ms
50ms
100ms

tomcat-jdbc
436
453
1,033
1,291

c3p0
4,378
5,726
7,975
10,948

dbcp
671
679
897
1,380

hikari
96
82
87
78

druid
304
424
690
1,130

测试结果:

hikariCP性能分析:

查询一条语句性能测试

测试说明:

测试数据:

连接池
5ms
8ms
20ms
50ms
100ms

tomcat-jdbc
2,178
1,495
1,769
1,818
1,858

c3p0
3,237
3,451
4,488
5,994
7,906

dbcp
2,816
1,935
2,097
2,243
2,280

hikari
2,299
1,546
1,682
1,751
1,772

druid
2,297
1,551
1,800
1,977
2,032

测试结果:

pscache性能对比

测试说明:

测试数据:

cache
1,927

not cache
2,134

测试结果:

测试说明:







欢迎光临 firemail (http://firemail.wang:8088/) Powered by Discuz! X3