weblogic 页面访问速度慢的可能原因及解决办法
系统部署在weblogic8.1上去后,发现比在tomcat下慢很多,经过分析排查,原因是web应用的WEB-INF下的weblogic.xml里的参数设置不合理(使用默认值有时并非最佳值)造成的,具体说明如下:
1,pageCheckSeconds?
<jsp-descriptor>
?? <param-name>pageCheckSeconds</param-name>
???<param-value>-1</param-value>
</jsp-descriptor>
?
pageCheckSecond的默认值是1,表示每隔1秒对JSP页面进行检查,检查JSP页面是否被修改、是否需要重新编译。
系统上线后,需要对该默认值修改为-1,表示永不检查。修改为-1的一个缺点是:对于页面的修改需要重新部署整个WEB应用。
2,servlet-reload-check-secs
该参数的默认值也是1,每隔1秒检查servlet是否被修改并需要重新编译。这里建议修改为-1,表示永不检查。
?
weblogic.xml的示例配置如下:
?
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN"
"http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
<weblogic-web-app>
? <session-descriptor>
??? <session-param>
????? <param-name>TimeoutSecs</param-name>
????? <param-value>1800</param-value>
??? </session-param>
? </session-descriptor>
? <jsp-descriptor>
??? <jsp-param>
????? <param-name>encoding</param-name>
????? <param-value>GBK</param-value>
??? </jsp-param>
??? <jsp-param>
????? <param-name>pageCheckSeconds</param-name>
????? <param-value>-1</param-value>
??? </jsp-param>
? </jsp-descriptor>
? <container-descriptor>
??? <servlet-reload-check-secs>-1</servlet-reload-check-secs>
? </container-descriptor>
? <context-root>/your-web</context-root>
</weblogic-web-app>
?
?注:也可以通过weblogic控制台修改,修改后不用重启服务器,也不用重新部署应用即可生效。具体方法是:点击Web Applications下的目标web模块,再点击descriptor 标签页,上面显示当前各个参数的值,根据需要修改即可。修改完成后,再访问应用,可以发现页面访问速度有了明显的提高。