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 标签页,上面显示当前各个参数的值,根据需要修改即可。修改完成后,再访问应用,可以发现页面访问速度有了明显的提高。

你可能感兴趣的:(jsp,应用服务器,Web,weblogic,servlet)