社区
Java EE
帖子详情
JDBC连接池测试代码,烦请大家帮忙看看是否存在不正确的地方
Chris2018998
2018-07-14 04:11:39
个人在学习JDBC连接池,写了几个Java测试代码,担心写的有问题,烦请大家帮忙看一下,感谢。
https://github.com/Chris2018998/BeeCP
...全文
239
4
打赏
收藏
JDBC连接池测试代码,烦请大家帮忙看看是否存在不正确的地方
个人在学习JDBC连接池,写了几个Java测试代码,担心写的有问题,烦请大家帮忙看一下,感谢。 https://github.com/Chris2018998/BeeCP
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Chris2018998
2018-07-17
打赏
举报
回复
感谢回复,有设置的
对Link.properties配置说明一下
POOL_TYPE_ALL:参与性能对比的连接池类型
POOL_TYPE:从POOL_TYPE_ALL列表中选定一个,然后执行TestMutilBorrow.bat,TestMutilQuery.bat,TestSingleBorrow.bat, TestSingleQuery.bat 用于测试单个连接池性能
JDBC_USER : JDBC用户名
JDBC_PASSWORD: JDBC密码
JDBC_DRIVER: JDBC连接驱动
JDBC_URL: JDBC地址
POOL_MAX_ACTIVE: 连接池最大连接数
POOL_MIN_ACTIVE: 连接池最小连接数
POOL_INIT_SIZE: 连接池初始化连接数
REQUEST_THREAD_COUNT:并发线程数
THREAD_QUERY_COUNT:每个线程执行查询的次数
THREAD_QUERY_TABLE:被线并发程查询的表
Chris2018998
2018-07-17
打赏
举报
回复
补充说明一下:
1:setJAVA_HOME.bat 必须被设置,设置Java版本为Java8或以上
2:RunAntBatch.bat 是由于批量测试参与对比的连接池、执行该文件前,需要修改该文件中的 ANT_HOME变量
顺便提一下另外两个开元项目(非广告):
https://github.com/Chris2018998/IOC
https://github.com/Chris2018998/JDA
Chris2018998
2018-07-17
打赏
举报
回复
最新下载地址:
https://github.com/Chris2018998/BeeCP/blob/master/Doc/BeeCP_0.63.jar
https://github.com/Chris2018998/BeeCP/blob/master/Doc/JDBCPool_Test.zip
0.63去掉了statement缓存
个人本地环境
CPU: I3-7100(3.9GHZ,dual core four thread)
Memory: 8G
Java: Java8_64_171
DB: Mysql_5.6.40_64
Pool max size:8
Pool init size:8
Connection request timeout:8000ms
测试公平性
1: 请求超时均设置为8秒
2: 使用各连接池最新版本测试
截取一次并发测试结果
2018-07-17 11:31:13-[C3P0]Number of borrow:1000000(1000x1000),took time:35831322.388172ms,Avg time:35.831322ms
2018-07-17 11:31:40-[BCP]Number of borrow:1000000(1000x1000),took time:22698482.072511ms,Avg time:22.698482ms
2018-07-17 11:32:02-[Tomcat]Number of borrow:1000000(1000x1000),took time:18344215.79191ms,Avg time:18.344216ms
2018-07-17 11:32:28-[Druid]Number of borrow:1000000(1000x1000),took time:21892915.84237ms,Avg time:21.892916ms
2018-07-17 11:32:36-[Vibur]Number of borrow:1000000(1000x1000),took time:4323431.569657ms,Avg time:4.323432ms
2018-07-17 11:32:41-[HikariCP]Number of borrow:1000000(1000x1000),took time:435419.321189ms,Avg time:0.435419ms
2018-07-17 11:32:46-[BeeCP]Number of borrow:1000000(1000x1000),took time:1862103.108032ms,Avg time:1.862103ms
2018-07-17 11:34:11-[C3P0]Number of query:1000000(1000x1000),took time:77461561.836276ms,Avg time:77.461562ms
2018-07-17 11:35:14-[DBCP]Number of query:1000000(1000x1000),took time:58400804.16595ms,Avg time:58.400804ms
2018-07-17 11:36:06-[Tomcat]Number of query:1000000(1000x1000),took time:48781085.607402ms,Avg time:48.781086ms
2018-07-17 11:37:08-[Druid]Number of query:1000000(1000x1000),took time:56800036.252307ms,Avg time:56.800036ms
2018-07-17 11:37:46-[Vibur]Number of query:1000000(1000x1000),took time:34720008.829608ms,Avg time:34.720009ms
2018-07-17 11:38:25-[HikariCP]Number of query:1000000(1000x1000),took time:25666875.950517ms,Avg time:25.666876ms
2018-07-17 11:39:02-[BeeCP]Number of query:1000000(1000x1000),took time:33760379.143527ms,Avg time:33.760379ms
1: 并发取连接测试结果: HikariCP > BeeCP > Vibur > Tomcat > Druid > DBCP > C3P0
2: 并发查询测试结果来看: HikariCP > ( Vibur = BeeCP ) > Tomtcat > Druid > DBCP> C3P0
* 并发查询结果:HikariCP有少量的失败
HikariCP 号称“光“”是截止目前性能最快的连接池
Druid 阿里大师:温少作品,该作品主要目标用于监控, 并不是为追求高性能,该作品为中国明星开源项目,拥有超多粉丝,很牛,中国Java界骄傲!
BeeCP 微型连接池,23个Java文件,Jar包只有45KB, 远小于其他连接池, 运行只依赖JDK。
代码整理中,尽最大努力提交一份比较好的代码到github上。
奔跑的小鱼儿
2018-07-16
打赏
举报
回复
jdbc.type没设置吧
如何编写出高效的数据库
连接池
(附带完整代码C#和Java实现) .
转自:http://blog.csdn.net/Mr_Zhao/article/details/1587373 相关技术:
连接池
引用记数 多线程 Timer类运行基理 C#.Net Java 适宜人群 数据库应用程序程序员 系统分析员 模块设计师 有一定功底的程序员 目录 引言 数据库
连接池
(Connection Pool)的工
实现高效的数据库
连接池
(附带完整代码C#和Java实现)
相关技术:
连接池
引用记数 多线程 C#.Net Java 目录 引言 数据库
连接池
(Connection Pool)的工作原理
连接池
关键问题分析 并发问题 事务处理
连接池
的分配与释放
连接池
的配置与维护 关键议题 引用记数 如何实现事务处理 管理
连接池
结合代码说明 构造方法 启动服务
如何编写出高效的数据库
连接池
(附带完整代码C#和Java实现)
相关技术:
连接池
引用记数多线程Timer类运行基理C#.NetJava 适宜人群 数据库应用程序程序员系统分析员模块设计师有一定功底的程序员 目录 引言 数据库
连接池
(Connection Pool)的工作原理
连接池
关键问题分析 并发问题事务处理
连接池
的分配与释放
连接池
的配置与维护 关键议题 引用记数 如何实现事务处理
C#
连接池
原由:许多用户可能在查询相同的数据库以获取相同的数据。在这些情况下,可以通过使应用程序共享到数据源的连接来提高应用程序的性能。否则,让每个用户打开和关闭单独的连接的开销会对应用程序性能产生不利影响。这样就有了
连接池
。 实现: C#在连接字符串中设置
连接池
。 如果使用的是 OleDbConnection、OdbcConnection 或 OracleConnection 类,...
实现高效的数据库
连接池
(附带完整代码C#和Java实现)(转)
相关技术:
连接池
引用记数 多线程 C#.Net Java 适宜人群 数据库应用程序程序员 系统分析员 模块设计师 有一定功底的程序员 目录 引言 数据库
连接池
(Connection Pool)的工作原理
连接池
关键问题分析 并发问题 事务处理
连接池
的分配与释放
连接池
的配置与维护 关键议题引用记数如何实现事务处理管理
连接池
结合代码说明构造方法启动服务StartService停止服务S...
Java EE
67,512
社区成员
225,885
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章