WPS: WebSphere Portal: Tuning English: Difference between revisions
(Criou nova página com ''''Tuning''' This wiki will be creating a series of articles outlining best practices for IBM WebSphere Portal environment. I ask you to always return to this article w...') |
|||
(14 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
This wiki will be creating a series of articles outlining best practices for IBM WebSphere Portal environment. | 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. | I ask you to always return to this article will be updating as usual. | ||
Line 11: | Line 13: | ||
# Divide the compounds | # Divide the compounds | ||
## Platform | ## Platform | ||
## Network report | ## Network report | ||
# Have a baseline reference | # Have a baseline reference | ||
= Portal Tuning Guide = | |||
Make the default tuning based on WebSphre Portal [http://www-10.lotus.com/ldd/portalwiki.nsf/xpViewCategories.xsp?lookupName=Performance%20Tuning%20Guides 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. | Improve the performance of the personalization (PzN) function in WebSphere Portal. | ||
Line 23: | Line 37: | ||
'''Important''': PersonalizationService.properties file is not managed by the DMGR, you need to change in all servers in the cluster. | '''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.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 '''S'''econds, '''H'''ours, '''D'''ays, '''M'''onths. '''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. | |||
[http://www-10.lotus.com/ldd/portalwiki.nsf/dx/Improve_PZN_Rule_Performance_using_Include_Only 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 o WPS ou Quickr como Servico no Windows| WPS: Colocar WPS/Quickr como Serviço no Windows]] | |||
* [[WPS: Habilitando Trace e Logs no WPS |Habilitando Trace e Logs no Websphere Portal Server]] | |||
* Mais Artigos sobre [[WebSphere Portal Server]] | |||
[[Category: WebSphere Portal Server]] | |||
[[Category: WPS]] |
Latest revision as of 14:18, 18 December 2013
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