天天看點

Java單體應用 - 常用架構 - 08.MyBatis - Druid 簡介Druid 簡介

原文位址: http://www.work100.net/training/monolithic-frameworks-mybatis-druid.html 更多教程: 光束雲 - 免費課程

Druid 簡介

序号 文内章節 視訊
1 概述 -
2 各種連接配接池性能對比測試

請參照如上

章節導航

進行閱讀

1.概述

Druid

是阿裡巴巴開源平台上的一個項目,整個項目由資料庫連接配接池、插件架構和 SQL 解析器組成。

該項目主要是為了擴充 JDBC 的一些限制,可以讓程式員實作一些特殊的需求,比如向密鑰服務請求憑證、統計 SQL 資訊、SQL 性能收集、SQL 注入檢查、SQL 翻譯等,程式員可以通過定制來實作自己需要的功能。

2.各種連接配接池性能對比測試

測試執行申請歸還連接配接 1,000,000(一百萬)次總耗時性能對比。

測試環境

環境 版本
OS OS X 10.8.2
CPU Intel i7 2GHz 4 Core
JVM Java Version 1.7.0_05

基準測試結果

Jdbc Connection Pool 1 thread 2 threads 5 threads 10 threads 20 threads 50 threads
Druid 898 1,191 1,324 1,362 1,325 1,459
tomcat-jdbc 1,269 1,378 2,029 2,103 1,879 2,025
DBCP 2,324 5,055 5,446 5,471 5,524 5,415
BoneCP 3,738 3,150 3,194 5,681 11,018 23,125
jboss-datasource 4,377 2,988 3,680 3,980 32,708 37,742
C3P0 10,841 13,637 10,682 11,055 14,497 20,351
Proxool 16,337 16,187 18,310(Exception) 25,945 33,706(Exception) 39,501 (Exception)

結論

  • Druid 是性能最好的資料庫連接配接池,tomcat-jdbc 和 druid 性能接近。
  • proxool 在激烈并發時會抛異常,完全不靠譜。
  • c3p0 和 proxool 都相當慢,慢到影響 sql 執行效率的地步。
  • bonecp 性能并不優越,采用 LinkedTransferQueue 并沒有能夠獲得性能提升。
  • 除了 bonecp,其他的在 JDK 7 上跑得比 JDK 6 上快
  • jboss-datasource 雖然穩定,但是性能很糟糕

上一篇:

MyBatis 簡介

下一篇:

Spring 整合 Druid
如果對課程内容感興趣,可以掃碼關注我們的

公衆号

QQ群

,及時關注我們的課程更新
Java單體應用 - 常用架構 - 08.MyBatis - Druid 簡介Druid 簡介
Java單體應用 - 常用架構 - 08.MyBatis - Druid 簡介Druid 簡介