前面已经做了c3p0和Druid的测试,下面进行Proxool的测试,其实我比较看好Proxool。
1.修改代码:
/** * Proxool实现 * @throws ProxoolException */ public void getUsrInfoWithProxool(ProxoolDataSource pds,Integer usrId) { String sql = "SELECT * FROM USER u WHERE u.USR_ID=" + usrId; try { // 获取连接 conn = pds.getConnection(); Statement st = conn.createStatement(); ResultSet result = st.executeQuery(sql); result.close(); st.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } }
2.修改main函数,还是进行10次查询,100次查询,1000次查询,每种查询重复100次的测试。
package com.test.jdbc.main; import java.io.IOException; import org.logicalcobwebs.proxool.ProxoolDataSource; import com.test.jdbc.dao.TestDAO; import com.test.jdbc.dao.impl.TestDAOImpl; public class Main3 { static String driver = "com.mysql.jdbc.Driver"; static String jdbcUrl = "jdbc:mysql://192.168.0.1:3306/test"; static String user = "dba"; static String passwd = "dba"; public static void main(String[] args) throws IOException { TestDAO testDAO = new TestDAOImpl(); ProxoolDataSource pds = getProxoolDataSource(); // 运行100次 for (int i = 0; i < 100; i++) { queryProxool(testDAO, pds, 100); } } /** * 获取Proxool数据源 * @return */ public static ProxoolDataSource getProxoolDataSource() { ProxoolDataSource pds = new ProxoolDataSource(); pds.setAlias("mysql"); pds.setUser(user); pds.setPassword(passwd); pds.setDriverUrl(jdbcUrl); pds.setDriver(driver); return pds; } public static void queryProxool(TestDAO testDAO, ProxoolDataSource pds, int count) { Integer usrId = 9900; long startMillis = System.currentTimeMillis(); // 测试c3p0查询 for (int i = 0; i < count; i++) { testDAO.getUsrInfoWithProxool(pds, usrId); } long endMillis = System.currentTimeMillis(); System.out.println(endMillis - startMillis); } }
将运行结果复制到excel表格中,利用excel的图表功能生成几种测试的耗时波动图表(单位:毫秒):
1.查询10次数据库,重复100次结果:
2.查询100次数据库,重复100次结果:
3.查询1000次数据库,重复100次结果:
平均值:
10次查询:32毫秒
100次查询:314毫秒
1000次查询: 2879毫秒
从平均值可以很明显的看出Proxool的性能非常优秀,远超其他两种连接池,这里的性能比较结果为Proxool>Druid>=c3p0。Druid未能表现出官方所说的优秀性能,此次几种测试方法具有很大的局限性,配置也均采用各连接池的默认属性,大家可以根据情况自行配置优化。
下一篇文章将对Proxool,Druid,c3p0,tomcat jdbc pool进行更详尽细致的对比测试。
相关推荐
proxool数据库连接池
包含proxool-0.9.1.jar与proxool-cglib.jar,欢迎下载
spring+proxool配置spring+proxool配置spring+proxool配置
proxool配置参数说明。 spring结合proxool的datasource配置方法 及proxool-0.9.1.jar proxool-cglib.jar
spring配置proxool连接db2用到的proxool相关jar包:proxool-cglib.jar;proxool-0.9.1.jar ;proxool-listenerCfg.jar。
spring proxool配置资料 spring proxool配置资料spring proxool配置资料
proxool-0.9.1.jar proxool_cglib-0.9.1.jar 用于连接池的配置
proxool api proxool api proxool api proxool api
proxool-0.9.1.jar proxool-cglib.jar
proxool配置与测试.doc( proxool配置与测试.doc )
proxool-0.9.1.jar下载 hibernate3+ proxool-0.9.1配置说明 我刚配好,总结出来和大家分享下
有oracle连接池proxool 用到的jar 包 还有jdbc的驱动包 proxool的源码包 Java实现oracle proxool 单态的例子等
the proxool configuration can be embedded within your own application's. Anything outside the "proxool" tag is ignored. --> - - <proxool> - <!-- 连接池的别名 --> <alias>DBPool</alias> - <!...
proxool-0.9.1 jar;proxool-cglib.jar; 数据连接池
Spring中使用proxool的配置 Spring中使用proxool的配置Spring中使用proxool的配置 Spring中使用proxool的配置
1、proxool官网,下载最新的proxool-0.9.1.jar 2、创建独立的proxool.xml文件,同时存在Web的WEB-INF目录下,根据自己的数据库类型,填写不同的数据库驱动信息及具体配置信息,本文以oracle为例。 3、创建自定义...
单纯的java项目使用 proxool(非web)
proxool连接池配置详解 proxool连接池配置详解 proxool连接池配置详解 proxool连接池配置详解 proxool连接池配置详解 proxool连接池配置详解
此Proxool修改包已经加入加密解密功能,直接加入压缩包中的jar再将DecUtil类放于项目,此类中有main方法生成加密和解密文。本人已经自用项目一切OK,希望你也行,因为很费时间费力顾10分对不起了,不会用的可以评论...