WPS: WebSphere Portal: Tuning English

From Wiki

Tuning

This wiki will be creating a series of articles outlining best practices for IBM WebSphere Portal environment.

Planing

I ask you to always return to this article will be updating as usual.

Steps

  1. Have an implementation plan
  2. Know your infrastructure
  3. Divide the compounds
    1. Platform
    2. Network report
  4. Have a baseline reference

Portal Tuning Guide

Make the default tuning based on WebSphre Portal Performance Tuning Guides

Important:

  • Enable servlet caching
  • Enable portlet fragment caching
  • For critical pages, for each WCM Content Viewer portlet we configured the Portlet Cache Options in order to share accross users.

JVM Tuning

Web Content Manager

Personalization Services Tuning

Improve the performance of the personalization (PzN) function in WebSphere Portal.

Important: PersonalizationService.properties file is not managed by the DMGR, you need to change in all servers in the cluster.

This file is located at this location <profile root>/PortalServer/config/config/services/PersonalizationService.properties

Example: /opt/IBM/WebSphere/wp_profile/PortalServer/config/config/services/PersonalizationService.properties


rulesEngine.cache.timeout

The number of seconds before an entry in the cache expires. Increasing the length of the cache timeout if content doesn't change rapidly (what is the case for this customer), the default value is 300.

rulesEngine.cache.timeout=36000


rulesEngine.cache.enabled.collectionName AND rulesEngine.cache.timeout.collectionName

  • rulesEngine.cache.enabled.collectionName = The variable collectionName is the fully qualified path to the resource collection in Personalization.
  • rulesEngine.cache.timeout.collectionName = The same as rulesEngine.cache.timeout, except that this property applies to a specific resource collection.
rulesEngine.cache.enabled.ibmpznnt:rule=true 
rulesEngine.cache.timeout.ibmpznnt:rule=36000
rulesEngine.cache.enabled.ibmpznnt:campaign=true
rulesEngine.cache.timeout.ibmpznnt:campaign=36000
rulesEngine.cache.enabled.ibmpznnt:ruleMappings=true 
rulesEngine.cache.timeout.ibmpznnt:ruleMappings=36000
rulesEngine.cache.enabled.ibmpznnt:resourceCollection=true
rulesEngine.cache.timeout.ibmpznnt:resourceCollection=36000
rulesEngine.cache.enabled.ibmpznnt:applicationObject=true
rulesEngine.cache.timeout.ibmpznnt:applicationObject=36000
rulesEngine.cache.enabled.ibmpznnt:uuidPathConversion=true
rulesEngine.cache.timeout.ibmpznnt:uuidPathConversion=36000
rulesEngine.cache.enabled.ibmpznnt:jcrNodeType=true  
rulesEngine.cache.timeout.ibmpznnt:jcrNodeType=36000


rulesEngine.attributeBasedAdmin.enableCaching

Use this property to determine whether or not to cache the results of rules used in attribute based admin.

rulesEngine.attributeBasedAdmin.enableCaching=true


rulesEngine.user.nestedGroupLookup

In addition, there is an undocumented property which can be set to false to speed up PZN. This should only be done if (and only if) nested groups are NOT used in the authorization ACL lists in Portal

rulesEngine.user.nestedGroupLookup=false


rulesEngine.bypassWebContentLink

Use this property to bypass the return of web content links in results. By default PZN returns results for content links as well as items, it is recommend disables support for links, queries will run about twice as fast.

rulesEngine.bypassWebContentLink=true


WCM_Caching

In the DMGR console go to Resources -> Resource Environment -> Resource Environment Providers (REP) -> WCM_WCMConfigService -> Custom Properties

Deprecated: <WPS_ROOT>/wcm/shared/app/config/wcmservices/WCMConfigService.properties

user.cache

Check for user.cache is true
user.cache=true 

connect.businesslogic.defaultcache

You must setup to false do disable Basic caching and enable Advanced caching.

connect.businesslogic.defaultcache=false

connect.moduleconfig.ajpe.contentcache.defaultcontentcache AND connect.moduleconfig.ajpe.contentcache.contentcacheexpires

Depending on how your users will access Portal (authenticated or public) you may want to enable this cache settings by adding/editing custom properties:

connect.moduleconfig.ajpe.contentcache.defaultcontentcache=SECURED (Or USER for public content).
connect.moduleconfig.ajpe.contentcache.contentcacheexpires=REL 1D (Or the value you consider correctly).

Where unit can be Seconds, Hours, Days, Months. Example: "REL 3D" content will expire in 3 days

Include Only rule

Review the queries you are using and try to improve their implementation. Start for the queries that are used in the more critical pages.

Improving IBM Web Content Manager Personalization rule performance using Include Only

The following trace will show PZN query execution times:

com.ibm.websphere.personalization.resources.cm.CmResourceManager=all


Tool: SplitSecond

Also you can use SplitSecond which is a tool that will track personalization queries and show it's duration, frequency, etc.

This could help you to identify critical queries that need to be adjusted.

Traces

You can enable traces to check, to check query time:

com.ibm.icm.jcr.query.QueryImpl=finest:com.ibm.icm.ci.query.impl.ResultSetProcessor=finest:com.ibm.icm.da.portable.query.*=finest:
com.ibm.icm.da.portable.common.sql.DefaultPConnection=finest:com.ibm.icm.da.portable.common.sql.PPreparedStatement=finest:
com.ibm.icm.da.portable.common.sql.PStatement=finest

Another trace:

com.ibm.icm.jcr.query.*=all: com.ibm.icm.da.portable.query.*=all: com.ibm.icm.ci.query.impl.*=all


Ver também