数据库连接池性能测试

首先,需要添加测试所需的jar包。本次测试的jar包版本为,C3P0:0.9.52,duird:1.0.13,Tomcat jdbc:8.5.20本次测试使用的数据库为mysql,部署在服务器上。编写测试代码。只进行了数据库连接的获取,与释放。上测试数据,代码放最后首先是在单线程的情况下,取出,进行sql查询,放回100次,,循环10次求平均值。 单线程,并且有查询的情况下,d
摘要由CSDN通过智能技术生成
  1. 首先,需要添加测试所需的jar包。本次测试的jar包版本为,C3P0:0.9.52,duird:1.0.13,Tomcat jdbc:8.5.20
  2. 本次测试使用的数据库为mysql,部署在服务器上。
  3. 编写测试代码。只进行了数据库连接的获取,与释放。
  4. 上测试数据,代码放最后
  5. 首先是在单线程的情况下,取出,进行sql查询,放回100次,,循环10次求平均值。
    这里写图片描述
    单线程,并且有查询的情况下,druid性能最好。
  6. 然后是在多线程的情况下,使用Fiber进行的多线程测试。无SQL查询。第一列,连接池名称;第二列,计算的每个线程的获取加释放时间的总时间;第三列,程序运行的总时间。
    6.1 开10个线程,每个线程10000次。
    结果1 这里写图片描述
    结果2 这里写图片描述
    6.2 开100个线程,每个线程10000次。
    结果1 这里写图片描述
    结果2 这里写图片描述
    线程少,无SQL查询的情况下,Tomcat jdbc最好,druid中等,C3P0最慢
  7. 多线程测试2,有查询语句,开100个线程,每个线程查询2000次。
    结果1 这里写图片描述
    结果2 这里写图片描述
  8. 多线程测试3,有查询语句,开200个线程,每个线程2000次。
    结果1 这里写图片描述
    结果2 这里写图片描述
  9. 多线程测试4,有查询语句,开200个线程,每个线程查询200次。
    结果1 这里写图片描述
    结果2 这里写图片描述
    结果3 这里写图片描述
  10. 进行连接池阻塞测试。
    设置连接池的最大连接数为20.
    设置程序开40个线程,查询1000次这里写图片描述
    设置程序开100个线程,查询1000次。这里写图片描述

结论
1.在单线程,进行正常查询的情况下,druid的性能是最好的,Tomcat jdbc其次。
2.在多线程,只获取连接不进行查询的情况下,Tomcat jdbc最好,C3P0其次。
3.在多线程,进行正常查询的情况下,Tomcat jdbc略占优势,因为mysql是部署在服务器上的,进行查询时可能会受到网络波动的影响,所以进行了很多次实验,Tomcat用时少的时候占多数情况。

代码,,是从http://www.cnblogs.com/barrywxx/p/6343303.html这个地方抄的,,然后小改了一下。

package jdbcPoolTest;

import java.beans.PropertyVetoException;
import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.St
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值