日期:2014-05-17  浏览次数:20753 次

java 连接数据库慢问题
java代码如下:
 ProxySelector.setDefault(null);
 Class.forName("oracle.jdbc.driver.OracleDriver");
 Connection conOracle = DriverManager.getConnection(URL,
 user, password);
 
在开发机上测试速度很快,但是发布到服务器上却很慢超时.
 开发机和服务器都是weblogic920+oracle10g.;
开发机是windows , 服务器是linux
 请教各位大拿什么原因会造成该问题? 
------解决方案--------------------
这东西就得一点点试,谁也不可能一下就说出来原因,给你点建议:

1.看看网速,这个东西挺影响响应时间的,特别是压力测试的时候很容易体现出来。

2.试试把连接方式换成数据源的,那个应该比较好。

其他就是看看是不是sql执行效率问题,数据库锁表等等
------解决方案--------------------
忘了说了, 也可能是给应用分配的内存太小了,查查linux吧
------解决方案--------------------
看看服务器上的参数优化过没有,可以简单的对比一下,比较关键的sga/pga/sort相关的大小。。
------解决方案--------------------
引用:
忘了说了, 也可能是给应用分配的内存太小了,查查linux吧

没有绝对的,不过确实环境变化的情况下,会引起执行计划的变化。。
建议你顺便再看一下,开发库和服务器上的执行计划是否相同。
------解决方案--------------------
应用服务器、数据库服务器使用情况? 负载如何? 一般参数没有配置不会产生这个效果。
如果只是建立数据库连接慢。
------解决方案--------------------
引用:
应用服务器、数据库服务器使用情况? 负载如何? 一般参数没有配置不会产生这个效果。
如果只是建立数据库连接慢。
还有你可以正反( Server -> Client, Client -> Server)两个方面测试ping一下网络延时情况。