[计算机]weblogic数据源优化调整记录

合集下载

weblogic10.3优化设置

weblogic10.3优化设置

Weblogic10.3_Windows优化设置优化说明: (2)一、Weblogic服务程序设置: (2)1、设置JDK内存: (2)2、设置线程数: (3)3、Weblogic数据库连接池连接数设置: (3)4、Weblogic的服务设置[配置\优化]: (4)二、Windows服务器设置: (4)1、修改最高端口号和TCP/IP释放连接时间: (4)三、Oracle数据库设置: (5)1、Oracle线程数设置: (5)优化实例: (5)一、Weblogic10.3_Windows集群布署 (5)1、机器配置: (6)2、Weblogic优化设置: (6)二、Weblogic10.3_Windows单机布署 (7)1、机器配置: (7)2、Weblogic优化设置: (7)优化说明:一、Weblogic服务程序设置:1、设置JDK内存:修改weblogic\user_projects\domains\base_domain\bin下的setDomainEnv.cmd文件:修改前:if "%JAVA_VENDOR%"=="Sun" (set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512mset WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m) else (set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512mset WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m)set MEM_PERM_SIZE_32BIT=-XX:PermSize=48mset MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m修改后:if "%JAVA_VENDOR%"=="Sun" (set WLS_MEM_ARGS_64BIT=-Xms512m –Xmx1024mset WLS_MEM_ARGS_32BIT=-Xms512m –Xmx1024m) else (set WLS_MEM_ARGS_64BIT=-Xms1024m –Xmx1024mset WLS_MEM_ARGS_32BIT=-Xms1024m –Xmx1024m)set MEM_PERM_SIZE_32BIT=-XX:PermSize=128mset MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=256m说明:红色字体为修改的内容,具体修改值根据实际物理内存确定∙-Xmx3550m:设置JVM最大堆内存为3550M。

WebLogic 系统调优操作指导书

WebLogic 系统调优操作指导书

WebLogic Server 8.1调优操作指导书拟制: Prepared by 杨机智59949日期:Date2006-11-07审核: Reviewed by 日期:Date审核: Reviewed by 日期:Date批准: Granted by日期:Date华为技术有限公司Huawei Technologies Co., Ltd.版权所有侵权必究All rights reserved修订记录Revision record目录Table of Contents1操作系统调优 (8)1.1操作系统调整 (8)1.2Linux相关参数调整 (8)1.3Windows相关参数调整 (9)2应用服务器调优 (9)2.1JVM调优 (9)2.1.1垃圾收集和堆大小 (9)2.1.2jRockit调优 (10)2.2Server调优 (11)2.2.1尽量使用本地I/O库 (11)2.2.2调整默认执行线程数 (12)2.2.3调整连接参数 (13)2.2.4创建新的执行队列 (14)2.3JDBC调优 (15)2.3.1调整连接池配置 (15)3性能监控和性能分析 (17)3.1性能瓶颈 (17)3.2操作系统监控 (17)3.3数据库监控 (18)3.4WebLogic监控 (19)3.4.1JVM监控 (19)3.4.2Console监控 (19)4常见问题解决方法 (20)4.1Apache出现连接拒绝 (20)4.1.1现象描述 (20)4.1.2原因分析 (20)4.1.3处理方法 (20)4.2启动Apache提示MaxClients超过服务器最大限制 (21)4.2.1现象描述 (21)4.2.2原因分析 (21)4.2.3处理方法 (21)表目录List of Tables表1 XX表Table 1 XX (21)图目录List of Figures图1 XX图Figure 1 XX (22)WebLogic Server 8.1调优操作指导书关键词Key words:WebLogic Server,调优摘要Abstract:本文介绍了如何进行WebLogic Server 8.1调优缩略语清单List of abbreviations:1 操作系统调优1.1 操作系统调整交换区(swap area)的大小。

Weblogic参数调优

Weblogic参数调优

Weblogic参数调优一、调优背景:应银监会总会需求,需对银监会派出机构客户风险监测预警系统进行1轮剔除网络环境的性能测试(在山东试运行阶段的性能测试,由于网络瓶颈较大,造成性能指标较差)。

由于时间紧张,只是匆忙搭建了测试环境,Weblogic、DB2等的参数均是默认设置,并未进行任何调优。

默认设置在系统使用人数不多的情况性能尚可,但当使用人数较多,或者进行大并发的性能测试时,则会显得捉襟见肘。

如:在本次测试过程中,在集团关联处的50并发,就会造成系统崩溃。

如图可见:在集团关联并发50的时候,队列长度已经高达103,空闲线程数已经为0,同时吞吐量极低,由此造成系统崩溃。

通过分析,查找到原因在于:JVM分配内存过少;线程池、连接池里分配的线程数以及容量过低,通过调优后解决了问题二、调优思路:一般来讲,J2EE应用架构环境下的系统调优,首先我们一般会从应用程序出发,去审核代码,做到代码级的优化,然后再调整应用服务器(BEA WebLogic8.1)和数据库(DB2)的参数,最后当然是调整操作系统和网络的性能(包括硬件升级)。

这是一种MDA的先进做法。

诚然,在许多项目中,不可能完全按照这个思路来做,我们把目标首先定位在应用系统所在的应用服务器(BEA WebLogic8.1)上,通过对BEA WebLogic8.1的参数进行设置,使WebLogic8.1能够在最优化的环境中去运行其系统,然后对DB2数据的参数进行优化设置,最后进行性能测试再找出导致性能瓶颈所在的SQL代码或JA V A程序,考量其修改的可行性,并进行最终问题优先级认定,与瓶颈模块进行协商解决性能问题。

当然,大多数时候都出现了性能问题后才想到调优,而且一般都是先进行系统参数调整,实在解决不了才会对代码进行检查。

实际上,我们应当将代码级的调优放在应用设计时来做,测试生产时修改代码将是一件极其痛苦的事情。

而本次测试由于时间紧张,只对Weblogic进行了参数调优,现将调优步骤进行说明:1.JVM调整:(1)首先,在D:\bea\user_projects\domains\mydomain下用编译模式打开startWebLogic.cmd,查找代码:call "%WL_HOME%\common\bin\commEnv.cmd"(windows)或者call "%WL_HOME%\common\bin\commEnv.sh"(linux/aix)找到后,在相应路径用编译模式打开该文件:(2)接着要弄清楚JDK厂商(是bea,还是sun、IBM等)set JA V A_VENDOR=BEA(此处说明应用的为BEA的JDK)(3)之后查找weblgoic运行模式:set PRODUCTION_MODE=默认是开发模式(线程计数默认为15)即为空,在上线时,应将其改为产品模式(线程计数默认为25):set PRODUCTION_MODE=ture(4)然后需修改分配给JVM的内存(默认为96M):因已确定厂商为BEA,运行模式为产品模式,所以找到::beaif "%PRODUCTION_MODE%" == "true" goto bea_prod_modeset JA V A_VM=-jrockitset MEM_ARGS=-Xms1024m -Xmx1024mset JA V A_OPTIONS=%JA V A_OPTIONS% -Xverify:nonegoto continue:bea_prod_modeset JA V A_VM=-jrockitset MEM_ARGS=-Xms1024m -Xmx1024m(此处即为分配给JVM的内存范围)goto continue可根据系统需要,修改分配的内存数注:如为32位的操作系统,则最大支持分配2G内存2.线程池调整:打开Weblogic,在路径:mydomain->服务器->myserver->右键打开“查看执行队列” weblogic.kernel.Default调整如下指标:(1) 线程计数—分配给此队列的线程数,建议值为: 100(2) 线程数增加—在出现溢出时,要添加到队列中的线程数,建议值为: 50(3) 最大线程数—此队列可以拥有的最大线程数。

weblogic优化

weblogic优化

1.调整weblogic内存,修改平台域目录下bin文件夹下的setDomainEnv.sh文件,如下:1)若平台域JDK版本为SUN JDK修改内容如下:MEM_ARGS="-Xms1024m –Xmx2048m -XX:MaxPermSize=512m"export MEM_ARGS以下红色字体部分移除:if [ "${JAVA_VENDOR}" = "Sun" ] ; thenMEM_ARGS="${MEM_ARGS} ${MEM_DEV_ARGS} -XX:MaxPermSize=128m"export MEM_ARGSfiif [ "${JAVA_VENDOR}" = "HP" ] ; thenMEM_ARGS="${MEM_ARGS} -XX:MaxPermSize=128m"export MEM_ARGSfi2)若平台域JDK版本为Jrockit修改内容如下:MEM_ARGS="-Xms1024m –Xmx2048m "export MEM_ARGS注:生产环境根据服务器实际内存的大小来调整参数,建议-Xms 不小于1024m –Xmx不小于2048m -XX:MaxPermSize不小于512m。

2.Too many open files的解决办法,修改……/bea/weblogic92/common/bin目录下的commEnv.sh文件,将1024改成32768,修改如下:# limit the number of open file descriptorsresetFd() {if [ ! -n "`uname -s |grep -i cygwin || uname -s |grep -i windows_nt || \uname -s |grep -i HP-UX`" ]thenmaxfiles=`ulimit -H -n`if [ "$?" = "0" -a `expr ${maxfiles} : '[0-9][0-9]*$'` -eq 0 ]; thenulimit -n 32768fifi}3.平台域JDK版本建议使用SUN JDK 1.5.x(64位),更换原有平台域JDK方式如下:编辑平台域目录下bin文件夹下的setDomainEnv.sh文件,将以下红色字体部分替换成JDK安装目录(例如:/home/weblogic/bea/jdk1.5.0_22)JAVA_HOME="${JAVA_HOME}"export JAVA_HOME若JDK原来版本为jrockit,更换成SUN JDK时需要在如下位置添加红色字体部分JAVA_VM="-server"JAVA_VM="${JAVA_VM} ${JAVA_DEBUG} ${JAVA_PROFILE}" export JAVA_VM。

weblogic参数配置和调优

weblogic参数配置和调优
调整策略:如果Queue Length不等于0,表示存在线程等待,可以根据请求数适当提高线程数;线程数大小区间:[ (cpu核数*25) , (cpu 核数*40) ] weblogic的套接字复用器配置 配置路径:weblogic控制台àserver菜单àconfigurationàtuning。 勾选启用“Enable Native IO”。 weblogic数据库连接池配置 调整策略:数据库连接数与线程数设为一致或略小。 jvm配置示例
请求超时处理
博客园 用户登录 代码我 登录 第三方登录/注册 没有账户, 立即注册
weblogic参 数 配 置 和 调 优
weblogic的执行线程数配置 判断是否存在线程等待:在WebLogic的控制台的myserver中的Monitoring页面下的Performance页面中,Queue Length是否等于0。 通过config.xml配置文件修改线程数(修改后重启weblogic)。

Weblogic性能调优经验

Weblogic性能调优经验

Weblogic性能调优经验WEBLOGIC性能调优方案1.查看当前线程池大小:登录WEBLOGIC控制台,选择服务器-某服务器-监视-性能,可查看到当前最大线程数量。

由于WEBLOGIC9取消了在页面进行调整线程大小的功能,需要在后台进行修改。

2.修改线程池大小:进入服务器的目录D:\bea\user_projects\domains\base_domain\config,使用编辑器打开config.xml文件,找到如下段落:<server><name>AdminServer</name><listen-address>168.5.130.34</listen-address>z</server>在</server>上面添加如下两行:默认10<self-tuning-thread-pool-size-min>1000</self-tuning-thread-pool-siz e-min><self-tuning-thread-pool-size-max>1000</self-tuning-thread-pool-siz e-max>添加后的结果:<server><name>AdminServer</name><listen-address>168.5.130.34</listen-address><self-tuning-thread-pool-size-min>1000</self-tuning-thread-pool-size-min><self-tuning-thread-pool-size-max>1000</self-tuning-thread-pool-size-max></server>按上面的步骤,继续找到ProxyServer,以及所有MANAGE受管机的<server>段落,分别添加上面的两行语句。

WebLogic调优

WebLogic调优

WebLogic调优以下内容基于Linux OSOSOS需要调整的参数比较少,主要是网络参数、文件打开数限制参数。

调整Linux系统使用sysctl命令修改TCP参数等待时间间隔:sysctl -w ip_ct_tcp_timeout_time_wait=60;调整打开文件的最大数:在/etc/sysctl.conf文件中,添加:Fs.file-max=65535,然后运行sysctl –p;调整打开文件描述符最大数为8192:在/etc/security/limits.conf文件,添加:WebLogic hard nofile 8192(仅针对WebLogic用户),然后在WebLogic启动文件里运行ulimit-n 8192激活设置。

OS全局打开文件数限制:修改 /etc/sysctl.conf,增加fs.file-max = XXXX,不同版本OS有不同的限制,在数据库服务器或应用服务器中必须调大。

如何查看一个进程已打开文件数:Lsof -p pid 查看进程打开文件,列出每个文件Lsof -u XXX 查看用户打开文件个数lsof -p pid| wc -l计算进程打开文件个数(wc 计算行数 -l或字数 -w、字符数-m或字节数-c)JDKJDK参数一般分成以下几类:●堆设置-Xms -Xmx (SUN设置HEAP的初始与最大值,IBM JDK 建议不相同)SUN JDK专用-XX:MaxPermSize=256m ,持久代大小(CLASS元数据存储区,不会被GC),此值默认比较小(4M),需要调大,否则抛ng.OutOfMemoryError: PermGenspace。

尤其对JSP、动态编译类较多的系统。

IBM JDK没有MaxPermSize参数,这个区域就在HEAP底部。

●GC设置SUN JDK-XX:+UseParallelGC或-XX:+UseParallelOldGC,利用所有可用CPU进行并行GC,大吞吐量,PAUSE较长-XX:+UseConcMarkSweepGC,并发GC,后台Thread,可以减少Pause时间,但Thread本身有开销而降低吞吐量IBM JDK 见下表●GC统计信息设置-verbose:gc 打印GC过程,时间等●并发收集器设置SUN JDK-XX:ParallelGCThreads=N ,并发GC的线程数,一般与CPU个数相同。

weblogic 性能调优

weblogic 性能调优
这个最大值也可以理解系统并发操作的最大值,如果有等待的话可以适当再提高

建议值:200
b) 设定执行队列的溢出条件;
通过启动管理控制台,在域(如:mydomain)> 服务器 > server实例(如:myserver)> Execute Queue > weblogic.kernel.Defalt > 配置下面几项:
队列长度:此值表示执行队列中可容纳的最大请求数,默认值是65536,不要手动改变此值。
通过启动管理控制台,在域(如:mydomain)> 服务器 > server实例(如:myserver)>配置 > 调整下可配置“接受预备连接”。
5、减少动态jsp载入次数
通过启动管理控制台,在域(如:mydomain)> 部署 >web应用程序模块 > 配置 > 描述符 > 下可配置
Servlet 重新加载检查(秒): 180
weblogic 性能调优:
1、找到startWebLogic.cmd文件,在
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% =%SERVER_NAME% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy="%WL_HOME%\server\lib\weblogic.policy" weblogic.Server
3、调优执行队列线程;
a) 修改默认执行线程数
通过启动管理控制台,在域(如:mydomain)> 服务器 > server实例(如:myserver)> 监视 > 性能中监控最大负载时执行队列的吞吐量和队列中的等待请求数,据此确定理想的数值。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[计算机]weblogic数据源优化调整记录首先,在解决一段时间后数据源不可用的问题之前进行观察和分析:1.1.开始时连接池每个属性的配置信息:初始容量:创建连接池时要创建的物理连接数。

更多信息.最大容量:此连接池可以容纳的最大物理连接数。

更多信息.容量增长:向连接池中添加新连接时创建的连接数。

更多信息.语句缓存类型:一种用于维护存储在语句缓存中的预定义语句的算法。

更多信息.语句缓存大小:存储在缓存中的预定义语句和可调用语句的数量。

(这可能会提高服务器性能。

)更多信息.先进的测试挂起的连接使WebLogic Server能够在将连接提供给客户端之前对其进行测试。

(测试表名称是必需的)。

)更多信息.测试频率:WebLogic服务器测试未使用的连接之间的秒数。

(测试表名称是必需的)。

)测试失败的连接将被关闭,然后重新打开以重新建立有效的物理连接。

如果测试再次失败,连接将被关闭。

更多信息.测试表名称:测试物理数据库连接时使用的数据库表的名称。

当指定测试频率和启用测试保留连接时,此名称是必需的。

更多信息.信任空闲池连接的秒数:当WebLogic Server认为连接仍然有效,并在将连接传输到应用程序之前或在常规连接测试过程中跳过连接测试时,它将使用连接的秒数。

更多信息.收缩频率:缩小连接池之前等待的秒数增加以满足需要。

更多信息.初始化执行用来初始化新的物理数据库连接的语句。

语句以SQL开头,后跟一个空格。

更多信息.您多久重试创建一次连接:尝试建立数据库连接之间的秒数。

更多信息.登录延迟:创建每个物理数据库连接之前延迟的秒数。

这种延迟支持无法快速连续处理多个连接请求的数据库服务器。

更多信息.非活动连接超时:保留连接处于非活动状态的秒数,在此之后,WebLogic Server 将回收该连接并将其释放回连接池。

更多信息.等待连接的最大数量:等待包含数据源的连接池中的连接时阻塞线程的最大并发连接请求数。

更多信息.连接保留超时:在连接池中保留连接的调用超时之前经过的秒数。

更多信息.语句超时:连接池配置信息的重要修改点:1.初始容量:最大容量:容量增长:调整此参数以提高数据源的性能。

在数据源创建之初,直接创建60个可用的数据库链接,以防止oracle服务器在一个数据库实例zmddb下默认提供最多150个数据库链接。

然而,在同一个zmddb数据库实例下,我们有两个用户zmdswoa和zmdswbgscms。

也就是说,如果zmdswbgscms应用程序使用140个数据库链接并且没有被合理地释放,那么即使zmdswoa应用程序使用的数据源中配置了60个具有最大容量的数据库链接,但是初始容量是1,那么在必要时将创建新的数据库链接并将其放入数据源池中。

如果oracle服务器没有可用的数据库连接,则对应于zmdswoa的数据源将无法创建可用的链接。

因此,初始容量和最大容量根据zmdswoa的实际情况直接设置为60,在开始创建数据源时占用60个数据源,从而最大限度地保证zmdswoa应用程序中数据库链接的可用链接数,防止同一zmdbdatabase实例下其他用户zmdswbgscms的可用数据库链接竞争。

至于容量增长:从1到5的调整是为了增加并发性,因为在创建数据库链接时有一定的延迟。

如果增加这个数目,在并发的情况下,获得数据库连接的可靠性和速度将会提高,并且获得更好的性能。

1.您多久重试创建一次连接:调整此参数,以便在自动加载或维护连接池时,如果在某个时间段内连续重新创建正确的可用数据库链接,则连接创建的超时时间限制为30秒,即在30秒内,将连续尝试创建正确的可用链接。

2.连接保留超时:此参数被调整为在并发情况下,如果在特定时间段内无法获得数据库链接,则暂时等待,而不是直接返回NullPointerException。

保持连接池中的连接的调用超时前经过的秒数设置为30秒,即在请求链接后的30秒内,调用方将继续尝试从数据源返回正确可用的数据库链接,直到它正确返回,否则,它将继续保持30秒。

3.非活动连接超时:保持连接不活动的秒数,在此之后,WebLogic Server将回收连接并将其释放回连接池,这有助于更合理地调度数据库链接资源,并增加数据源中可用数据库链接的数量,以确保数据源在特定时间段内具有更大的服务能力和并发性。

显示100秒的时间限制后,不活动的数据库链接会自动回收到数据源,从而降低数据库链接泄漏和不可用的数据库链接的可能性。

1.2.在部署界面中,监控JDBC数据: 从这个接口,最大的数据库使用,并发性,和健康(泄漏链接计数,可用数量,不可用数量,等等。

)的应用程序,并可以观察每个数据源的当前情况。

通过该界面,您可以在weblogic中监控服务器实例管理服务器的服务状态,如一般信息、运行状况、通道、性能、线程、计时器、工作负载、安全性、默认存储、JMS、SAF、JDBC、JTA等。

我们需要注意的是一般信息、健康状况、表现、线索、JDBC等。

特殊说明:(1)没有修改的WebLogic的默认可执行线程数是15;(2)默认数据源的最大容量为15,初始容量为1,未经修改的WebLogic数据源的容量增长为1.1.3以zmdswoa身份登录数据库客户端,并观察当前会话:表示由oracle服务器端生成的数据库连接的唯一标识符的样本号可以按样本号排序,以查看数据库链接的当前使用情况,因为oracle 的样本号是从1分配的。

用户名,代表连接数据库实例的zmddb的用户名,可以用来判断连接数据库和数据库的每个应用程序的当前使用情况。

1.4修改可执行线程的数量:d: \ BEA 11g \用户_项目\域\ Base _域\ Bin SetDomainev .cmd;调整规则:在JDK5.0之后,每个线程的堆栈大小为1M,但是操作系统仍然对进程中的线程数量有限制,并且不能无限期地生成它。

32位操作系统是根据JVM的最大堆内存设置的。

64位操作系统的经验值约为3000~5000。

重要代码片段:setJA V A _OPTIONS =-Dweblogic .thread pool .MinPoolSize = 50-Dweblogic .thread pool .MaxPoolSize = 501.5修改weblogic Server运行时可用内存使用量和静态堆栈内存使用量:调整规则,32位操作系统,一般不超过2G。

重要代码片段:如果“% JA V A _供应商%”= =“sun”(set WLS _MEM _ARGS _64 bit =-xms 1024m-xmx 1024 msetwls _MEM _ARGS _32 bit =-xms 1024m-xmx 1024m)否则(set WLS _MEM _ARGS _64 BIT =-xms 1024m-xms 1024m set WLS _MEM _ARGS = 2 set mem _max _perm _size _64 bit =-xx:max perm size = 256 ms tmem _max _perm _size _32 bit =-xx:max perm size = 256 m1 .6 from Bea产品工具中启用的节点管理器,即节点管理器,是weblogic在安装weblogic时选择安装的一个WebLogic独立工具。

它将自动监控管理服务器的运行状况,并自动决定是否重新启动。

这样,它可以监控服务器相关内容的健康状态,并在异常时自动重启。

1.7数据源的名称不能与应用程序的名称相同,否则经过一段时间后,数据源对象会自动异常甚至自动销毁(这可能是一个weblogic bug,只能尽量避免);其次,在调整和优化各种参数后,重启weblogic server,从weblogic控制台进行监控,观察调整后的变化,检查各种数据值,并确认修改成功:2 .1。

应用程序并发能力得到增强,这可以从会话、最大会话数和总会话数中看出。

2.2.修改setDomainev .cmd文件后,可执行线程的数量增加到50,提高了多线程处理能力。

当然,它也需要更多的服务器内存,所以有必要调整服务器的可用内存。

2.3调整服务器的可用内存后,监控服务器的性能指标有所提高。

2.4调整数据源配置后,数据源性能指标明显提高,数据库链接的稳定性和正确性明显提高。

三。

与应用程序相关的数据库链接问题要点摘要:1.在weblogic中配置数据源时,数据源的名称不能与应用程序的名称相同。

例如,如果应用程序的名称是zmdswoa,那么数据源的名称最好是jdbc-zmdswoa,而不是zmdswoa。

如果名称重复,weblogic server将在加载和创建数据源对象时造成混乱。

在某些时候,它会导致数据源对象被莫名其妙地破坏,从而无法获得数据库链接,并且数据源对象不会被自动修复,直到下次重新启动weblogic server。

因此,当请求数据库连接时,应用程序中会出现NullPointerException异常。

修改所有数据源的名称,并以jdbc作为前缀,以使它们不重复应用程序名称zmdswoa和zmdswbgscms,从而减少在weblogic中出现错误的可能性。

2.在办公系统zmdswoa中,zmdswbgscms应用程序中的滚动图片jsp页面被渗透。

此外,由于代码错误,页面代码本应加载服务器静态图片,但每次都需要从数据库中再次查询BLOB二进制流文件,导致严重的数据库链接占用和消耗。

事实上,两个应用程序ZDWBGSCMS和zmdswoa位于同一个zmddb数据库实例下,并且由于ZDWBGSCMS应用程序占用了大量的数据库链接(默认情况下,一个数据库实例下的oracle服务器最多只能有150个数据库链接),如果ZDWBGSCMS应用程序占用了大量的数据库链接,则对应于zmdswoa应用程序的数据源在一段时间后甚至无法获得任何可用的链接。

对zmdswbgscms应用程序中的滚动图片读取程序进行了修改,使其在平面内,尽可能缩短数据库链接时间。

4.特别是对于首页上的程序,应该进行适当的SQL代码优化。

最明显的优化点,如(1)修改所有选择*位置,只选择所需的列,将减少许多数据库链接占用的时间;(2)对于数据量大的表,尽可能优化SQL 语句,使用更少耗时的语法如Like、in、not in,使用更高效合理的语法实现数据查询。

主要针对jsp页面相关的应用主页,进行全面的检查和修改、优化。

相关文档
最新文档