WebSphere Portal V6.0 服务器支持不同于 WebSphere Portal Version 5 支持的设计。对于 Portal 6.0,没有一个被用于 Rational 产品的轻量级的测试环境。相反,它使用一个完整的 Portal 6.0 服务器。
当在同一个机器上安装时,Version 5 的测试环境是被激活的(工件的自动再次载入,热代码交换等等)。这意味着您可以用 Portal V5 测试环境的便利而不受限制的开发。但是,这也意味着您拥有一个完整的运行于您开发机器中的 Portal 6.0 实例,这将耗尽您的资源。
这篇论文的目的是讲述如何减少 Portal 6.0 在您机器中消耗的资源量和如何基于您的开发需求将性能最优化的小窍门。如果您打算用 Rational 产品开发 WebSphere Portal 6.0 解决方案,它还包含了其它有用的安装及配置信息 。
为了避免反复使用冗长的名字,这篇论文使用以下缩写的术语:
- Rational 软件 代表 Rational Application Developer V7.0 或者 Rational Software Architect V7.0,或者两者都代表。
- Portal 或 portal,除非有其它说明,否则就表示 WebSphere Portal V6.0。
- WebSphere,除非有其它说明,否则就表示 IBM® WebSphere® Application Server V6.0,它运行 portal (显示代码中是 WAS)。
- Linux ® 涉及到 WebSphere Portal V6.0 支持的 Linux 操作系统和其它 UNIX® 操作系统,诸如 IBM® AIX® 或者 Sun® Solaris™。
当涉及到磁盘位置时,使用下列名称:
- WAS_HOME: WebSphere Application Server V6.0 的安装目录。
- WPS_HOME: WebSphere Portal Server V6.0 的安装目录。
- WP_PROFILE: WebSphere Portal WebSphere 服务器概要文件。
如果您正在安装的 Portal 将被其他的开发人员在其他机器上使用,那么您为 Host name 输入的数值必须在其它所有机器上是可解析的。因此,最好用一个完整的主机名或 IP 地址,如 图 1所示。
图 1. WebSphere Application Server 的属性
为了测试您所选择的数值是否令人满意,您可以使用 hostname 的值作为 ping 命令的参数去检测是否能够访问到主机。如果您可以成功地检测到服务器,那么您就可以使用。
在本机服务器的情况中,Portal 和 Rational 软件将安装在同一机器上,向导中的默认数值应该总是可接受的。
您可以在 WebSphere Process Server 安装的时候 (见 图 2)设置激活或不激活 WebSphere 业务流程支持。在 WebSphere Portal V6.0 中,您不能在安装完成之后激活或者失效 WebSphere 业务流程支持。因此,如果您需要改变它,您就需要重新安装 Portal 服务器。
图 2.在安装过程中设置业务流程支持的选项
安装业务流程支持在服务器启动的时候招致一个重大的性能代价。尽管 Portal 6.0 开发工具被设计成无需服务器重新启动也可以工作,但是在开发者需要重新启动服务器的时候仍然可能要重启 Portal 服务器。因此,如果不是真正地需要业务流程支持,最好不要安装它。
正常 Portal 安装的配置主要优化的是长期运行性能而不是启动时间,这对开发者会带来很大的利益。作为前面的规定,Rational 软件对于 Portal 6.0 的支持被设计为无需服务器重新启动也可以工作,但是也可能在开发者重新启动服务器时对它进行重启。幸运地是,我们有很多方法,可以在很大程度上减少 Portal 花费在启动上的时间。
您需要做的第一步是激活 Administrative Console 中的开发模式。如果您试图以 Rational 软件启动服务器,那么这一步是没有必要的,因为软件自动地执行了这一步。如果在安装了 Portal 服务器的机器中没有 Rational 软件,那么您就需要遵循下列步骤用 Administrative Console 手动完成这一步:
- 打开 Administrative Console 并定位到 Application Servers > WebSphere_Portal, 选择 Run in development mode 复选框 (见 图 3)。
图 3. 检查这个选项并在开发模式中运行
- 下一步,解压 StartupPerformanceConfig.zip 文件--请看 下载部分--到 WPS_HOME/config 中。此压缩文件包含能够使某些无关紧要的 Portal 组件不被加载的脚本。
- 在您可以运行这些脚本之前,您必须适当地配置 WPS_HOME/config/wpconfig.properties 文件。用一个标准的文本编辑程序打开此文件并且确保下列字段被赋予正确的数值(在 Portal 安装过程中您将选择所有这些数值):
- WasUserid: WebSphere Application Server 安全验证用户 ID
- WasPassword: WebSphere Application Server 安全验证密码
- PortalAdminId: WebSphere portal 管理员 ID
- PortalAdminPwd: WebSphere portal 管理员密码
- 当这些数值被正确地设置后,您可以运行下列指令使一个组件不被加载:
-
Microsoft® Windows®:
WPS_HOME\config\WPSconfig.bat <> -
Linux:
WPS_HOME/config/WPSconfig.sh <target>
<target> 的地方应该是下面之一的值:
-
action-disable-target-mapping-portlets:Portal 提供所有的 portlet 应用程序 -
action-disable-target-mapping-pzn:使所有个性化应用软件失效 -
action-disable-target-mapping-caiwcm:使所有计算机辅助指令(CAI)和 WCM 应用软件失效 -
action-disable-target-mapping-misc:一些其他的应用软件
通过运行相同的指令,但是要将 target 名称中 enable 部分取代 disable 部分,通常情况下这些组件是可以被再次启用的。因此,例如,为了使个性化应用软件失效,您可以运行下列指令(在 Windows 中):
WPS_HOME\config\WPSconfig.bat action-disable-target-mapping-pzn
如果稍后您想重新激活个性化应用程序,应该采取下列指令:
WPS_HOME\config\WPSconfig.bat action-enable-target-mapping-pzn
注意:
如果您使个性化应用程序失效,CAI 和 WCM 或者其他的应用软件,那么它们在服务器中将不再可用。相反,使 portlet 失效将不会使它们不能可用。只是简单地推迟加载它们直到真正需要它们的时候。
如果您想调试来自于 Rational 软件中的应用软件,您就需要以调试模式启动服务器,这将会导致性能上的冲击,尤其是启动时间。另外,对于前面部分中介绍的关于启动的改进,当在调试模式中运行时,您可以采取其它步骤来改进启动时间。如果您想在 Rational 软件中以调试模式启动服务器,那么您可以跳过这个部分,因为 Rational 软件自动地执行了这个优化过程。如果服务器是运行于远程的一台没有安装 Rational 软件的服务器上,那么您就应该使用这种方法。
- 配置一个服务器使它以调试方式启动,单击 Debugging Service properties 链接到 Application servers > WebSphere_Portal 面板(见图 4)。
图 4.设置 Debugging Service 属性
- 然后选择 Enable service at server startup 复选框(见图 5)。
图 5.启动 Debugging Service
- 当您完成了这些,您就可以通过调整 Java™ Virtual Machine (JVM) 参数为 Portal 优化调试模式,如 Figure 6 所示:
- 首先在 WebSphere_Portal 面板中展开 Java™ and Process Management 项目。
- 然后单击 Process Definition。
图 6. 优化调试模式启动
技巧: 注意所选择的“Run in development mode”复选框就如前面部分的每个指令。
- 在 Process Definition 面板中(Figure 7),单击 Java Virtual Machine 属性:
图 7. Process Definition 面板
- 在 Debug arguments 字段中,加入参数
–Xj9使得字段数值如 列表 1 所示(假设其它参数都为默认值)。
列表 1.加入一个调试参数
-Djava.compiler=NONE -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=
n,address=7777 -Xj9
|
-
–Xj9开关改进了性能,但是它也干扰了 Generic JVM arguments中的两个参数。为了修补这个缺陷,您需要删除–Xp???k,??k和–Xk?????参数,这些参数默认为:-Xp128k,64k -Xk40000。这产生了您在 列表 2 中看到的 Generic JVM 参数的字段数值,假设其它参数不变。 (见 图 8 。)
列表 2. 加入调试参数
${WPS_JVM_ARGUMENTS_EXT} -Ddb2j.system.home=${WPS_HOME}/cloudscape
|
图 8.删除调试模式参数
- 在您完成这些之后,保存您的主要配置并重启服务器。服务器将以调试模式运行,如果您没有调整 JVM 的设置那么服务器的重启将花费更少的时间。
Rational 软件在 Portal 服务器上直接运行。因此,如果您的服务器变的不稳定或者您想将 Portal 恢复到某一个特定状态的时候,能够保存一个特殊的配置并且能够恢复它是非常有用的。
为您的 Portal 安装中的两个目录做备份是非常重要的。
- 首先是 Portal 概要文件目录 WebSphere profile directory。在 Windows 中,其默认值为 C:\ibm\WebSphere\profiles\wp_profile ,在 Linux 中,其默认值为 WAS_HOME/profiles/wp_profile 。一个 WebSphere 概要文件详细说明了服务器的运行时环境,例如运行什么应用软件,安全设置是什么,以及定义了哪些数据源。
- 另一个有用的备份目录是 portal database directory,其在 Windows 和 Linux 的默认值都为 WPS_HOME/cloudscape。此目录包含了定义 Portal 布局设计的数据库。
当恢复两个备份中任意一个时,您就必须停止您的服务器,删除当前目录的内容,然后将备份中的内容复制到新的空目录下,完成这些,您就可以再次启动您的服务器,并且您所备份的 Portal 将被恢复。您可以分别备份和恢复这些目录, 但是您最好一起备份和恢复这些目录并且同时进行,因为某些特定的元素是相互依存的。
您应当用 Portal 卸载软件从机器中卸载 Portal 的安装,但是在特定的情况下,例如一个失败的安装,这种方法就不起作用了。如果在您重新安装 Portal 之前想确定您的机器是空白的,那么可以采取以下步骤:
- 如果 WPS_HOME 目录存在,那么删除它和其中的内容。
- 如果 WAS_HOME目录存在,那么删除它和其中的内容。
- 如果概要文件目录没有被存储在 WAS_HOME 下,那么您也需要删除这个目录。这就像无论您在哪里安装了 Portal 或者 WebSphere 在 Windows 中默认位置都是 C:\ibm\WebSphere\profiles 一样。
- 对于 Windows : 打开 Registry Editor 并且删除这些键:
-
HKEY_LOCAL_MACHINE\SOFTWARE\IBM\WebSphere Portal Server\6.0.0.0 -
HKEY_LOCAL_MACHINE\SOFTWARE\IBM\WebSphere Application Server Network Deployment\6.0.0.0 - 查找 vpd.properties 文件。在 Windows 中,它在 C:\Windows 或者 C:\WinNT下,在 Linux 中,它在 /root。编辑这个文件以删除所有关于您试图卸载的 Portal 的 WPS_HOME 或者 WAS_HOME 位置入口。另一种方法,您可以只删除这一个文件,但这种方法最适合在这个机器上没有其它任何版本的 Portal 的情况。
- 在您的主目录中 (例如 Linux 中的 /root 或者 Windows 中的 C:\Documents And Settings\<username>),如果它们存在的话,就删除这三个文件。注意在 Linux 中这些文件可能是隐藏的,因为它们开始于一个周期。确保不是这种情况。
- .ITLMRegistry
- ._cie.trace.xml.lck
- .WebSphereRegistry
有很多种其它的改变和调整,这些改变和调整可以改进稳定性和功能性。其中如何切换 wps.ear 文件和如何控制高速缓存以提高性能是最需要了解的方法。
Rational 软件需要主要的 Portal 企业应用软件,wps.ear,以使它的工具能够运行。在这个应用软件不工作或者被破坏的情况下,软件试图自动从 WPS_HOME/installableApps/wps.ear. 文件中恢复这个应用软件。wps.ear 归档文件中的一部分是 Portal 所使用的 Java™ Archive (JAR) 文件,wp.scheduler.ejb.jar。来自于 installableApps 的 wps.ear 文件的这个 JAR 版本还没有为在 Portal 6.0 中的部署而做好准备。因此,当 Rational 软件需要从这个文件中恢复 Portal 时,Enterprise JavaBeans™ (EJB™ 技术将不能被准确地部署,因此您可能会看到控制台异常或者 Portal 的异常。
为了安装这个 wps.ear 文件,用您在 WP_PROFILE/installedApps/wps.ear 目录下找到的文件版本替代 wp.scheduler.ejb.jar 文件。
- 在 Windows 中,WP_PROFILE 默认值为 C:\ibm\WebSphere\profiles\wp_profile.
- 在 Linux 中,其默认值为 WAS_HOME/profiles/wp_profile.
您可以从文件大小来区别 JAR 的就绪版本和未就绪版本。JAR 就绪版本,您可以在 installedApps 目录中找到,应该是 104 KB,而在 installableApps 中的 wps.ear 文件中未就绪版本是 44 KB。
WebSphere Portal 6 包含了很多的缓存服务,当这个服务器被用在生产环境中时,就有助于改进长期运行的性能。在开发环境中,不需要太考虑服务器的长期性能,并且内容将更加频繁地改变,因此高速缓存将成为障碍而不是帮助。
您可以通过编辑包含于 WPS_HOME/shared/app/wp.services.properties.jar 文件中的 CacheManagerService.properties 文件来控制哪些高速缓存需要被激活。这个文件中的第一组设置是全局性的高速缓存设置。(参见 列表 3。)
列表 3. 列于最大宽度的样例代码
#######################################################
######################
#
# Global settings. These can be overridden for individual caches.
# The evaluation order for parameters is:
# 1. Parameters given when requesting a cache (in the program code)
# 2. Parameters for the cache given in this files (see last part of file)
# 3. The following list of default values.
#
#######################################################
######################
# Is caching enabled? [specify true, yes (or false, no)]
#
# Default: true
cacheglobal.enabled=true
# Default cache size, in number of entries
#
# Default: 1000
cacheglobal.size=1000
# Cache sharing
#
# Default: false
cacheglobal.shared=false
# Shall cacheinstances use java.lang.ref.SoftReferences to hold
# cacheentries or not. This can be turned on/off for each individual instance
#
# Default: false
cacheglobal.softref=false
|
这些设置被用于定义在文件中没有自己的入口的高速缓存设置。因为默认情况下,所有的高速缓存都有入口,除非您稍后在文件中删除某些高速缓存的入口,否则修改它是没有任何作用的。为了激活一个高速缓存或者使之失效,就要找到其自身的高速缓存入口并设置激活的数值为 false。 列表 4 给出了一个示例。
列表 4. 样例代码
cacheinstance.com.ibm.wps.ac.AccessControlUserContextCache.shared=true
cacheinstance.com.ibm.wps.ac.AccessControlUserContextCache.enabled=true
cacheinstance.com.ibm.wps.ac.AccessControlUserContextCache.lifetime=1200
cacheinstance.com.ibm.wps.ac.AccessControlUserContextCache.size=8000
cacheinstance.com.ibm.wps.ac.AccessControlUserContextCache.replacement=moderate
cacheinstance.com.ibm.wps.ac.AccessControlUserContextCache.admit-threshold=0
|
请注意您不能使一个用于生产环境的服务器上的高速缓存失效,因为这将导致性能障碍。您可以在 WebSphere Portal InfoCenter 中找到更多的关于配置高速缓存的信息(见 参考资源)。
| 描述 | 名字 | 大小 | 下载方法 |
|---|---|---|---|
| 本文示例代码 | StartupPerformanceConfig.zip | 5KB | HTTP |
学习
- 您可以参阅本文在 developerWorks 全球网站上的 英文原文。
- 时刻关注最新的 developerWorks 技术活动和网络广播。
-
IBM Rational Application Developer 产品资源页面:查找技术性的文档,关于 Rational Application Developer 的文档、培训资料、下载资料以及产品的信息。
- 访问 IBM 的 模式解决方案(Pattern Solutions) 并找出 IBM 关于模式和可重用资产的动向。
- 浏览 技术书店 中的那些关于技术方面的书籍。
-
WebSphere Portal InfoCenter,在这里您可以找到关于配置高速缓存的更多信息。
获得产品和技术
- 下载一个免费的 Rational Application Developer 试用版本。
- 下载 IBM 产品评估版本,并可以获得来自 DB2®、 Lotus®、 Rational®、 Tivoli®, 以及 WebSphere® 的应用开发工具和中间产品。
讨论
- 参加 developerWorks blogs 并参与到 developerWorks 社区中。
-
Rational Software Architect、Data Architec、Software Modeler、Application Developer 和 Web Developer 论坛:询问有关 Rational Application Developer 的问题。