Proxool 连接池: 第一次执行连接的时候connection很慢大概需要3S才可以得到连接。
请问,为什么呢?
如果,是我XML问题? 请看如下:{<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>
<proxool>
<alias>zzsoft</alias>
<driver-url>jdbc:oracle:thin:@localhost:1521:zzsoft</driver-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<driver-properties>
<property name="user" value="sangmin"/>
<property name="password" value=" "/>
</driver-properties>
<maximum-connection-count>100</maximum-connection-count>
<minimum-connection-count>10</minimum-connection-count>
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<prototype-count>5</prototype-count>
<test-before-use>true</test-before-use>
<house-keeping-test-sql>select 1 from dual</house-keeping-test-sql>
</proxool>
</something-else-entirely>
} 大概没有错误吧!
我实验结果速度很慢。请看楼下程序:{public static Connection getConnection() {
try {
long t1 = System.currentTimeMillis();
JAXPConfigurator.configure("C:\\proxool.xml", false);
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");//proxool驱动类
Connection conn = DriverManager.getConnection("proxool.zzsoft");
long t2 = System.currentTimeMillis();
System.out.println("程序所需时间:" + (t2 - t1) + "ms");
return conn;
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
}
大概需要3秒到-2.7秒吧!
请问,为什么呢?
如果,是我XML问题? 请看如下:{<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>
<proxool>
<alias>zzsoft</alias>
<driver-url>jdbc:oracle:thin:@localhost:1521:zzsoft</driver-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<driver-properties>
<property name="user" value="sangmin"/>
<property name="password" value=" "/>
</driver-properties>
<maximum-connection-count>100</maximum-connection-count>
<minimum-connection-count>10</minimum-connection-count>
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<prototype-count>5</prototype-count>
<test-before-use>true</test-before-use>
<house-keeping-test-sql>select 1 from dual</house-keeping-test-sql>
</proxool>
</something-else-entirely>
} 大概没有错误吧!
我实验结果速度很慢。请看楼下程序:{public static Connection getConnection() {
try {
long t1 = System.currentTimeMillis();
JAXPConfigurator.configure("C:\\proxool.xml", false);
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");//proxool驱动类
Connection conn = DriverManager.getConnection("proxool.zzsoft");
long t2 = System.currentTimeMillis();
System.out.println("程序所需时间:" + (t2 - t1) + "ms");
return conn;
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
}
大概需要3秒到-2.7秒吧!
解决方案 »
- 如何将byte[]存入ORACLE数据库
- 虚拟数据层泛型DAO不写重复的dao
- List的get()方法
- 今天配置Struts2+spring+hibernate 时tomcat出错了
- 关于servlet 内部类的实例化的问题
- 如何得到优酷真实播放地址
- myeclipse 部署 struts问题 Cannot find ActionMappings or ActionFormBeans collection
- 一个spring项目中web.xml的问题,解释越清楚越好~
- 有人知道jive的源代码再那下载吗???
- 怎样才能在tomcat下支持socket?为什么socket的端口号是8080,而不是自己定义的
- DWR和struts2标签问题
- 应用程序迁移到was 6.1.21后,应用出错
如果,该用户同时执行同样的语句速度很快,如果换其他语句的话第一次很慢我想是不是连接池也好JDBC也好他们的CON不能共享啊
其次,测试:{
开启六个浏览器同时执行同样的操作发现执行的时间效率结果是一样的、这样的情况下让我好伤心呢。我还以为proxool能把CON共享呢。。测试数据50W+ 期间还有BLOB大对象。
最后,测试大数据分页查询:效果一般没有感觉速度快到哪去呢!! 我使用的是过程查询。。没发现哎。
莫非我的过程不好吗。。恶心死我啦。
}
现在,我真是无奈啦。
LS,你说能不能把CON共享呢!!!! 多个用户有没有可能同时共享一个CON呢!如果,这样的情况下估计速度很快吧!!
例子:
我是根据主键或者多个表的主键外键来查询数据
数据中存在大对象。。其实,大对象就是execal啦如果,查询过程中不存在BLOB字段时间消耗不到1秒如果存在大概所需时间为3-6秒吧!这个时间不算准确。
这个时间是这样计算的哈、
从客户端到后台的分析遍历在把结果集传到客户端展示所需的时间总共:3-6秒而已。如果,单计算某个方法运行多长时间的话不到1秒忽略不计。
如,拼SQL 执行SQL 判断SQL(在着个过程中还有很多细节比较复杂如要或许每个表的主键值和外键值很简单 把登录用户的用户记住下来查询一条记录在取出相应的ID号在根据ID号取出每个表中的主外建号速度很快忽略不计) 返回结果集拼成XML 返回给客户端、客户端解析 展示 等等。
这个方法如果使用MAIN测试大概需要2.6S
如果,使用客户端测试大概需要15S。。无语啦。今天,再次测试使用tomcat+oracle 来进行操作。
没想到的事情发生啦。
客户端时间大概是:1.6s。
MAIN函数的大概时间:不到1秒忽略不计。再次测试结果下反省了。
为什么?proxool连接池反映速度如此过慢呢!
还有jdbc自己手写的连接池很慢跟proxool差不多一样速度。
至于c3p0没有测试过。此项目使用的存JDBC
还不如自己冷静下来思考一下解决得啦。。
很高兴认识楼上的兄台。