Code Bye

急!求助性能问提

 

小弟最近遇见一个性能方面的难题,希望各位大虾不吝赐教。
下面是我们遇见的问题的简述:

我们用的平台是Oracle+Oracle Applicaion Server+Solaris。
我们的应用其实很小。在访问最频繁的时候也最多1000个用户左右,
用户的操作很简单,填几个页面的参数(参数总共不多于50个,这些参数的值的累计不会超过2K),
可能存在着一些的查询,查询的规模比较小
上传一些文件,文件数不多于5个,文件大小总共一般都在1M以下

我们开发的几个应用开始是用的Jsp+JavaBean+Oracle模式。
结果,应用的性能很低。在最繁忙的时候,20分钟,甚至10分钟都上不去了。
在到达性能瓶颈时,我们发现是中间件即Oracle Applicaion Server的相关应用的OC4J实例宕掉了
(http server组件即Apache模块没有问题,静态网站速度还可以)。
而系统和Oracle没有问题,
cpu和内存使用率平均都在30%以下。
我们的系统是sun公司的V880服务器,配置较高,相对于我们的应用应该是错错有余。

通过监控,我们发现在系统出现问题时,数据库的连接将近20000个
(我们以前没有这方面的开发经验,所以开始是用JDBC或JavaBean直接连接数据库进行操作,所以数据库连接数会特别高)。
我们以为是数据库连接数太多造成性能瓶颈,最后,我们通过在Oracle Applicaion Server
中配置数据源,在程序中通过Naming.lookup来查找数据源获取数据库连接的方式来操作数据库。
结果是数据库的连接数下去了,在到达性能瓶颈时,数据库的连接不到200个。
但问题还是没有解决,这次,中间件即Oracle Applicaion Server的相关应用的OC4J实例还是会较快宕掉,
但在OC4J实例宕机的之前,Oracle的数据库进程会超过150个,使整个系统不能够再连接Oracle了。

另外,由于我们有时经常修改服务器上的JSP程序,在很多时候会出现在访问相关JSP程序时,发生内存不足,无法编译的问题。

以前我们部署的应用,是在建立的一个OC4J实例下创建了一个WEB CONTEXT,然后,以后开发、编写的所有应用都直接在上面建立
子目录来进行的。最多的时候在目录下面有近3000多个JSP文件。

后来,我们按照应用的分类重新部署了这些应用,发现,性能还是没有显著改善。

我们的数据库,中间件以及系统在安装后的各种配置参数最初没有进行特意的优化,
前一段时间对Oracle Applicaion Server相关参数进行了配置,发现,性能还是没有显著改善

我们的应用的性能问题是Oracle Applicaion Server中间件、Oracle数据库、solaris的参数配置问题,还是程序开发的方式问题
还是部署的问题,还是程序本身实现的思路、方法问题,还是各种问题和因素的组合
各位大虾有没有关于开发JSP应用的成功经验,对我们的问题有没有建议,有没有各种参数配置问题、程序开发的方式、部署等方面的
建议或文档,还请各位大虾不吝赐教

我的信箱是eric_qp@sina.com 

这种问题只能有工具去测,推荐性能测试工具Optimizet
检查程序是否有地方没有释放数据库连接,特别在容易发生异常地方
谢谢,我再试试

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明急!求助性能问提