dev2dev.bea.com.cn
首页 资源中心 dev2dev学堂 在线技术论坛 专家Blog User Group CodeShare

WebLogic Portal应用程序的优化开发

2007-09-20 15:53:54 | 评论 (0) | 被访问(208)次

Peter Laird
  Peter Laird 是BEA WebLogic Portal工程小组的一名高级架构师。目前,Peter致力于将企业门户技术与一些新兴的思想结合在一起,比如说混搭和面向服务架构。


  如果您想提升开发WebLogic Portal应用程序的速度,那么这篇博客文章就是专门为您打造的。实际上,文中的大多数建议都适用于大中型Java Web应用程序的开发过程,但本文将集中关注WLP。在BEA中,我们已经研究了改进迭代开发绩效的方法。本文将分享其中一些可供您立即应用的发现。

改进开发绩效的五种简单方法

  我将解释在改进迭代开发绩效方面最有用的五个技巧。此处的绩效是按重新发布您的应用程序所用时间度量的。这些技巧已针对WebLogic Portal应用程序进行了度量,但任何大中型JEE应用程序开发过程都会获得同样的收益。下面按重要性排序列举了这些收益:

  1. 使用JRockit作为您的服务器JVM!!!它的速度更快,而且不会因Hotspot之类的PermGen问题而发生故障。
  2. 将Parallel Garbage Collection与JRockit配合使用——高达40%的提升!
  3. 仅在需要时启动Autonomy搜索服务,这将节省500MB的RAM。
  4. 可选择在Web应用程序的范围内开发类。如果您这样做了,那么Workshop将得到很好的优化。
  5. 避免使您的应用程序塞满不必要的文件。考虑将静态文件迁移到一台Web服务器上。

  详述如下。

BEA JRockit是您的益友

  这是显而易见的。我们已经发现,对于迭代开发,JRockit要比Hotspot更快、更稳定。创建一个新的域时,总是应该选择JRockit作为服务器的JVM(Hotspot是默认的,所以您需要采取一些措施)。如果您在多次重新发布后遇到内存不足的错误,那么换用JRockit将帮您解决这些问题。注意:Workshop IDE是为在Hotspot上运行而配置的,不必加以更改。只需更改服务器JVM即可。
不确定您使用的是什么吗?在启动时观察一下服务器控制台,它会将使用的是Hotspot还是JRockit记入日志。要为一个域配置JRockit,在所生成的域中setDomainEnv.(sh,cmd)脚本内设置JAVA_VENDOR=BEA即可。
JRockit是明智的选择,原因不仅仅在于绩效。Henrik Stahl 在自己的博客中介绍了另外一些特性,它们使JRockit成为开发的理想选择。

并行世界更轻松

  另外一件显而易见的事情。您是否希望将重新发布的速度提升40%?JRockit 中垃圾收集的Parallel算法能够很好地完成此类任务。并行会增加暂停次数,但总体上来说它可以 最大化吞吐量。最大化吞吐量正是我们所需要的!
要为服务器配置并行GC,您需要更改setDomainEnv.(sh,cmd)。更改 MEM_ARGS="-Xms256m -Xmx768m" 的代码行,使之成为MEM_ARGS="-Xgc:parallel -Xms256m -Xmx768m".。然后就可以安心休息了。

节约生产中的重大搜索

  这是WLP特有的。WLP预先配置为开箱即启动Autonomy搜索引擎。这是跨供您使用的内容存储库的全文本搜索。然而,大多数开发人员并不需要在其环境中进行全文本搜索。Autonomy要占用一定的RAM,因此最好在不需要时禁用它。
您需要编辑DOMAIN_HOME/bin/startWebLogic.cmd/sh。编辑文件以使默认搜索配置文件被设置为"none",方法是更新如下代码行:

if "%CONTENT_SEARCH_OPTION%"=="" (
        @REM make the following assignment to none, so it won't start Autonomy
        set CONTENT_SEARCH_OPTION=none

这就是我们热爱Workshop的缘由

  Workshop是智能化的,因此它将具备智能,并帮助您摆脱繁杂工作。开发一个应用程序时,您最终会在以下三个域中部署工件:

  • 系统类路径:出于多方面的原因,请加以避免。
  • 应用程序域:EJB和其他任何需要跨多个Web应用程序进行共享的内容均部署在这里。
  • Web应用程序域:Web项目中部署的一切内容都属于这个类别。

  如果您更改了系统类路径中部署的一个类,那么就需要重启服务器。这绝对不是一个好选择。如果您更改了应用程序中部署的一个类,Workshop将需要重新部署应用程序和所有Web应用程序。这样做的代价高昂。如果您更改了Web应用程序中的某些东西,Workshop通常只需重新部署这个Web应用程序。这是重新发布的最快途径。因此只要可能,就应该尽量选择在一个Web项目中部署您的开发工件。
Workshop还有其他许多帮助您提升速度的特性,访问 此页面 获得更多信息。

将那些100MB的电影放到YouTube上

  对于部署,大小无关紧要。在开发过程中,要特别注意避免使您的应用程序塞满可能位于别处的静态文件。应用程序中不可避免地有一定数量的图片、CSS和Javascript,但应考虑使用Content Management或一个Web服务器来托管较大的内容集合。

工作还在继续……

  在此,我要特别感谢为我提供上述信息的WLP工程师。(Dave、Bret,感谢你们!)他们一直致力于迭代开发的分析,也依然在寻求使WLP应用程序开发速度更快的方法。此外, Josh Lannin在 这篇博客文章 中介绍了适用于WLP开发人员的更多绩效技巧。. 希望这些技巧能对您的当前项目有所帮助!

 

原文出处:http://dev2dev.bea.com/blog/plaird/archive/2007/05/optimized_devel.html



Tags: weblogic portal performance development 门户 性能 开发
文章评论:(以下网友留言只代表个人观点,不代表BEA观点和立场)
暂时没有评论!

2007年09月

          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
             
RSS订阅

Peter Laird's Blog搜索