数据库连接池的比较
一、性能比较
最大连接数控制为10,测试获取10w个连接的时间,单位为ms
这个表是对从第一次获取连接开始至最后次的统计时间(total)
次 dbcp druid C3P0
1 8475 655 1621
2 8333 793 1732
3 8291 753 1745
4 8454 642 1581
5 8464 673 1848
6 8307 660 1787
7 8337 699 1808
8 8438 581 1707
平均
该表为每次获取连接时间的统计(sum)
次 dbcp druid C3P0
1 8305 579 1370
2 8124 698 1443
3 8140 665 1514
4 8284 575 1331
5 8278 596 1463
6 8127 572 1490
7 8155 606 1522
8 8229 509 1439
平均
对比三者的性能,druid最快,c3p0还行,dbcp我就不吐槽了和其他两个不在一个数量级上。
二、功能
关键功能 Druid DBCP C3P0
LRU 是 是 否
PSCache 是 是 是
PSCache-Oracle-Optimized 是 否 否
ExceptionSorter 是 否 否
监控 是 否 否
扩展 是 否 否
对比功能发现,druid的确强大,特别扩展功能这块,druid可以扩展很多插件,包括扩展其他连接池。
三、总结
对比三个连接池发现,druid功能强大,性能高,虽然在复杂环境下稳定性没有测过,但是后援团(阿里)比较强大,就算有问题也能很快的解决。而且还提供了监控平台,有助于优化我们的代码和sql。并且在扩展上支持在连接池层面的sql注入预警。
转载自:http://blog.csdn.net/q397739000/article/details/52452562