MySQL DataSource 性能对比(2015-8-19)

1. 本地性能测试耗时(一)

共同条件:测试程序与数据库在同一台主机上,各DataSource均采用默认配置,每个线程循环1000次,查询语句为select * from table

场景一:10行数据,10个线程

场景二:10行数据,100个线程

场景三:1000行数据,10个线程

场景四:1000行数据,100个线程

场景五:100000行数据,10个线程

结论:

tomcat-jdbc-pool ≈ druid > dbcp2 > BoneCP > c3p0

备注:

负载(数据量、线程数等)过大时,本机CPU将成为瓶颈,会极大影响查询耗时

2. 本地性能测试耗时(二)

默认设置下,各DataSource的连接池大小如下:

tomcat-jdbc-pool(initialSize, minIdle, maxIdle, maxActive) = (10, 10, 100, 100)

dbcp2(initialSize, minIdle, maxIdle, maxTotal) = (0, 0, 8, 8)

c3p0: (initialPoolSize, minPoolSize, maxPoolSize) = (3, 3, 15)

druid(initialSize, minIdle, maxIdle, maxActive) = (0, 0, 8, 8)

BoneCP:不支持设置连接池大小

将各DataSource连接池大小统一设置成最小值为4,最大值为16后,再重新进行一轮性能测试,结果如下:

druid > tomcat-jdbc-pool > dbcp2 > c3p0

结论:在连接池远大于druid的情况下,tomcat-jdbc-pool的性能与之相当;而在同等连接池的情况下,则不如druid,故综合来看druid优于tomcat-jdbc-pool

3. 最新版本(截至2015-8-19)

tomcat-jdbc-pool

org.apache.tomcat:tomcat-jdbc:8.0.24

更新于2015-7-1

druid

com.alibaba:druid:1.0.15

更新于2015-6-30

dbcp2

org.apache.commons:commons-dbcp2:2.1.1

更新于2015-8-2

BoneCP

com.jolbox:bonecp:0.8.0.RELEASE

更新于2013-10-23

c3p0

com.mchange:c3p0:0.9.5.1

更新于2015-6-16

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值