WPS: WebSphere Portal: Tuning English
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
- Have an implementation plan
- Know your infrastructure
- Divide the compounds
- Platform
- Network report
- 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
Web Content Management 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
- WPS: Facilitando o acesso a diretorios do Portal
- WPS: Colocar WPS/Quickr como Serviço no Windows
- Habilitando Trace e Logs no Websphere Portal Server
- Mais Artigos sobre WebSphere Portal Server