WebLogic Server 性能优化 (3) 应用篇

来源:互联网 发布:五十知天命的意思 编辑:程序博客网 时间:2024/05/01 13:13

WebLogic Server 性能优化 (3) 应用篇

Weblogic   2009-07-10 00:12   阅读10   评论0  
字号:    

这里不是指具体的应用代码应该如何编写才能够高效,主要是描述运行在WebLogic Server上的应用如何优化配置。

Web App

对于Web App,最关键的有3个选项:Servlet Reload Check Secs,JSPPage Check Secs和Session Timeout Secs。

WebLogic Server提供了一种机制,就是每个一个周期,去检查Web App的JSP文件和Servlet类是否发生了变化,如果发生了变化,WebLogic Server会自动加载这些JSP/Servlet。这个功能用在开发阶段非常有帮助,可以方便进行开发测试,而不用每次都去Redeploy应用。但是在生产环境中,通常应用是不会随意的发生变化的,所以禁用这个功能会减少不必要的系统开销。这个功能和WebLogic Server运行在Development Mode还是Production Mode没有关系,默认情况下,每1秒都会进行一次检查。设置为-1可以禁用。如果应用是展开包的方式部署的,那么在WebLogic Console可以直接修改;如果是打包部署的,需要在配置文件weblogic.xml中进行配置,样本如下:

<weblogic-web-app>

<session-descriptor>
<session-param>
<param-name>TimeoutSecs</param-name>
<param-value>600</param-value>
</session-param>
</session-descriptor>

<jsp-descriptor>
<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>

</weblogic-web-app>

对 于Session Timeout Secs,就是指Session的超时时间。通常关于Session超时,有一个误区,认为浏览器关闭了之后Session对象就会消失。实际上,在 WebLogic Server端的Session对象,必须要经过Session超时之后,才有机会被GC掉。这也是为什么大部分关于Web App优化的文章都会提到不要在Session中放置大量的数据。默认情况下Web App的Session超时是3600秒,即一小时。通常这个设置是属于比较长的,生产环境中要根据应用需要来缩短这个时间。如果应用是展开包的方式部署的,那么在WebLogic Console可以直接修改;如果是打包部署的,需要在配置文件weblogic.xml中进行配置,见上面给出的样本。(注:HTTP Session的超时时间可以针对每个Session设置,调用session.setMaxInactiveInterval(),但是不能保证用户使用习惯能够在不使用系统的时候会点击某个链接调用这个代码,所以还是要进行设置)

原创粉丝点击