Java单体应用 - 常用框架 - 08.MyBatis - 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

原文地址:https://www.cnblogs.com/liuxiaojun/p/training-monolithic-frameworks-mybatis-druid.html

时间: 2024-08-29 07:43:00

Java单体应用 - 常用框架 - 08.MyBatis - Druid 简介的相关文章

Java单体应用 - 常用框架 - 08.MyBatis

原文地址:http://www.work100.net/training/monolithic-frameworks-mybatis.html 更多教程:光束云 - 免费课程 MyBatis 简介 序号 文内章节 视频 1 什么是MyBatis - 2 MyBatis体系结构 - 3 MyBatis的工作流程 - 4 MyBatis与Hibernate - 5 MyBatis的特点 - 请参照如上章节导航进行阅读 1.什么是MyBatis MyBatis 是一款优秀的持久层框架,它支持定制化 S

Java单体应用 - 常用框架 - 05.综合实例(iot-admin)

原文地址:http://www.work100.net/training/monolithic-frameworks-example.html更多教程:光束云 - 免费课程 综合实例 序号 文内章节 视频 1 概述 - 2 创建项目 - 3 使用AdminLTE模板 - 4 创建登录页 - 5 登录功能实现 - 6 提升用户体验 - 7 实例源码 - 请参照如上章节导航进行阅读 1.概述 本节将把「Java单体应用」课程做一个阶段性的总结,通过一个综合的案例将所学知识完整实践一下. 我们后续阶段

Java单体应用 - 常用框架 - 02.Spring

原文地址:http://www.work100.net/training/monolithic-frameworks-spring.html更多教程:光束云 - 免费课程 Spring 序号 文内章节 视频 1 概述 - 2 体系结构 - 3 特点 - 4 Spring与IoC - 5 第一个Spring应用程序 - 请参照如上章节导航进行阅读 1.概述 Spring 的主要作用就是为代码"解耦",降低代码间的耦合度. 根据功能的不同,可以将一个系统中的代码分为 主业务逻辑 与 系统级

Java单体应用 - 常用框架 - 07.Spring MVC - Maven 模块化开发(iot-

原文地址:http://www.work100.net/training/monolithic-frameworks-spring-mvc-maven-module.html更多教程:光束云 - 免费课程 Maven 模块化开发 序号 文内章节 视频 1 概述 - 2 创建根项目(工程) - 3 创建统一的依赖管理模块 - 4 创建通用的工具类模块 - 5 创建领域模型模块 - 6 创建管理后台模块 - 7 创建前端控制台模块 - 8 创建接口模块 - 9 清理.编译.打包 - 10 功能完善

Java单体应用 - 常用框架 - 01.Bootstrap

原文地址:http://www.work100.net/training/monolithic-frameworks-bootstrap.html 更多教程:光束云 - 免费课程 Bootstrap 序号 文内章节 视频 1 概述 2 阅读对象 3 前置知识 4 为什么使用Bootstrap 5 Bootstrap包的内容 6 参考资源 请参照如上章节导航进行阅读 1.概述 Bootstrap 来自 Twitter,是目前很受欢迎的前端框架. Bootstrap 是基于 HTML.CSS.Jav

Java单体应用 - 常用框架 - 01.Bootstrap - 媒体查询

原文地址:http://www.work100.net/training/monolithic-frameworks-bootstrap-media.html 更多教程:光束云 - 免费课程 媒体查询 序号 文内章节 视频 1 用法 - 2 浏览器支持 - 3 媒体类型 - 4 媒体特性 - 5 使用媒体查询 - 请参照如上章节导航进行阅读 1.用法 @media 媒体查询能在不同的条件下使用不同的样式,使页面在不同在终端设备下达到不同的渲染效果. 2.浏览器支持 表格中的数字表示支持 @med

Java单体应用 - 常用框架 - 07.Spring MVC - 表单标签库

原文地址:http://www.work100.net/training/monolithic-frameworks-spring-mvc-form-tags.html更多教程:光束云 - 免费课程 表单标签库 序号 文内章节 视频 1 声明表单标签 - 2 表单标签 - 3 文本框 - 4 密码框 - 5 文本域 - 6 复选框 - 7 复选框(多选) - 8 单选按钮 - 9 单选按钮(多选) - 10 下拉列表 - 11 下拉列表(多选) - 12 隐藏域 - 请参照如上章节导航进行阅读

Java单体应用 - 常用框架 - 07.Spring MVC - 其它注解

原文地址:http://www.work100.net/training/monolithic-frameworks-spring-mvc-other-annotation.html更多教程:光束云 - 免费课程 其它注解 序号 文内章节 视频 1 @ModelAttribute - 2 @ResponseBody - 请参照如上章节导航进行阅读 [email protected] @ModelAttribute 具有如下三个作用: 绑定请求参数到命令对象: 放在功能处理方法的入参上时,用于将多

Java单体应用 - 常用框架 - 01.Bootstrap - 表格

原文地址:http://www.work100.net/training/monolithic-frameworks-bootstrap-table.html 更多教程:光束云 - 免费课程 表格 序号 文内章节 视频 1 概述 - 2 表格类 - 3 表格元素类 - 4 基本的表格 - 请参照如上章节导航进行阅读 1.概述 Bootstrap 提供了一个清晰的创建表格的布局.下表列出了 Bootstrap 支持的一些表格元素: 标签 描述 <table> 为表格添加基础样式 <thea