IBM WebSphere Portal
IBM WebSphere Portal software family Your world. Your way
Performance Tuning Guide
IBM WPLC Performance Team March Document version
BASE PORTAL TUNING
Contents
PERFORMANCE TUNING OVERVIEW
WEB 2.0 THEME TUNING
COMPOSITE APPLICATIONS TUNING
MANY PAGES TUNING
WEB CONTENT MANAGEMENT TUNING
CLUSTER TUNING
Cache Instances
General Information
Cache Usage Patterns
Example Scenarios
Figures
Tables
ABOUT THIS DOCUMENT
PERFORMANCE TUNING OVERVIEW
Environment Considerations
BASE PORTAL TUNING
3. http//yourhost10001/admin
Application Server Tuning
How to get to Admin Console
http//www-01.ibm.com/software/webservers/appserv/was/library
On Solaris and zLinux, we use 3.5GB heap size in 64-bit environment
reboot -q vmo -p -o vpinshm=1
XX+UseConcMarkSweepGC
server
XXMaxPermSize
XXSurvivorRatio
S E S S I O N T I M E O U T
W E B C O N T A I N E R T H R E A D P O O L S I Z E
Note to WAS
prefPoolSize
How to Set
initPoolSize
maxPoolSize
WebSphere Portal Services
Parameter
R E G I S T R Y S E R V I C E
RegistryService.properties
Parameter
Cache Name
C A C H E M A N A G E R S E R V I C E
Database name
Database Tuning
Database
Datasource name
The databases and related domains supported by Portal V6.1 are
Perform a re-org check to improve performance
For those tables which require reorganization, we use the command
∙ Database block size 8k
chdev -l sys0 -a maxuproc=’4096’
smitty aio Change/Show Characteristics of Async I/O MinServers =
Mount -o cio /u02
sessions
execute
O T H E R D A T A B A S E C O N S I D E R A T I O N S
Directory Server Tuning
db2 “update db config for idsldap using dbheap 4800”
db2 alter bufferpool IBMDEFAULTBP size
Access logging
Web Server Tuning
KeepAliveTimeout
ThreadsPerChild
MaxSpareThreads
Note For z/OS, no Web Server was configured
MinSpareThreads
MaxClients
Operating System Tuning
L I N U N E T W O R K T U N I N G
HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Services\
Tcpip\Parameters. Create a new REGDWORD named below
W I N D O W S 2 0 0 N E T W O R K T U N I N G
N E T W O R K T U N I N G
How-to-Set ndd -set /dev/tcp PARAMETER VALUE
S O L A R I S
K E R N E L T U N I N G
The commands we use to setup 1.”pooladm -e” to enable pool facility
Required Fixes
WEB 2.0 THEME TUNING
Navigator Service Properties
JVM Initial and Maximum Heap Size
Caching Proxy Tuning
Internet Explorer Support of Vary Header
Proxy /searchfeed* http//server-name/searchfeed
# uncommented these to enable statics to be cached
# set cache-control public for various static content
Web Server Tuning
a. expiration-cache28800/expiration-cache
Portlet Caching
ExpiresActive On
b. cache-scopepublic/cache-scope
MANY PAGES TUNING
DB2 Database Tuning
Cache Manager Service
Table 19 Cache Manager Service Settings for Many Pages
Required Fixes
WEB CONTENT MANAGEMENT TUNING
Application Server Tuning
CacheManagerService.properties File
WebSphere Portal Service Properties
Table 20 Cache Manager Service Settings for WCM
Cache Name
WCM Object Cache
Cache Name
WCM Configuration Service
JCR Text Search
DB2 Tuning Authoring Environment
T A B L E S P A C E S
Bufferpool settings
Z / O S
B U F F E R P O O L S
IDXBPOOL
TBSBPLOB
TBSBPOOL
D B 2 F O R Z / O S V 8 F I X E S
COMPOSITE APPLICATIONS TUNING
Cache Manager Service Properties
Composite Applications Best Practices
∙ Another area to consider regarding teamspace complexity is the number of application roles. For many teamspaces, two roles manager and user are adequate. Don’t create additional roles unless they are really needed
Application Server Tuning
CLUSTER TUNING
Value true
Value true
How-To Set
Web Server Tuning
Table 26 Web Server Tuning for Clusters
MaxRequestsPerChild
Additional Details
Session Persistence To Database Tuning
Setting
Table 27 WebSphere Session Persistence Tuning
Vertical Cluster Tuning
IBM Tivoli Directory Server Tuning
Required Fixes
OTHER PERFORMANCE TUNING OPTIONS
Improving Portal Startup Performance
Managing the Retrieval of User Attributes
The two trace strings are
Use of Dynamic Content Features
content.topology.dynamic=false
Real-World Network Considerations
LoadModule headersmodule modules/modheaders.so
BrowserMatch Mozilla/4 gzip-only-text/html
# Dont compress images
Location ~ \.jsgifjpgjpegpng$
WEBSPHERE PORTAL CACHES
General Information
enabled The enabled property determines whether a cache is used or not. If a cache is not enabled, the property has a value of false, then no values are held by the cache and every cache lookup will return a null value. This property should only be modified for testing purposes, never in a production environment. The supported values are true and false and the global default value is true
Supported values are true and false. The default values shipped in WebSphere Portal V6.1 should apply to most configurations. If you do not have a cluster there may be a small performance benefit to setting this property to false since a different cache implementation is used. We did not modify the defaults in our single node measurement environments
Cache Usage Patterns
Cache Instances
com.ibm.wps.ac.PermissionCollectionCache
Figure 1 Portal Access Control Cache Hierarchy
com.ibm.wps.ac.OwnedResourcesCache
com.ibm.wps.ac.AccessControlUserContextCache
com.ibm.wps.ac.ProtectedResourceCache
com.ibm.wps.ac.RolesCache
com.ibm.wps.ac.ExternalOIDCache
com.ibm.wps.ac.ChildResourcesCache
com.ibm.wps.ac.ApplicationRoleOIDCache
com.ibm.wps.ac.ApplicationRoleDescriptorCache
com.ibm.wps.ac.ApplicationRoleChildrenCache
com.ibm.wps.ac.ApplicationRolesForPrincipalCache
com.ibm.wps.ac.ContainedRolesCache
com.ibm.wps.puma.DNOIDCache / com.ibm.wps.puma.OIDDNCache
com.ibm.wps.datastore.PortalIdCache.explicitLpidPerVP
com.ibm.wps.datastore.services.Identification.OidAndUniqueName.cache
com.ibm.wps.datastore.PortalIdCache.vpPerLpid.cache
com.ibm.wps.datastore.pageinstance.OIDCache
com.ibm.wps.datastore.pageinstance.DerivationCache
com.ibm.wps.datastore.pageinstance.DynamicNodeCache
M O D E L
com.ibm.wps.model.content.impl.ResourceCache
com.ibm.wps.model.factory.SimpleCacheKey
com.ibm.wsp.mode.content.impl.TopologyCache
com.ibm.wps.model.factory.ContentModelCache.live
com.ibm.wps.model.factory.NavigationSelectionModelCache.isolated
com.ibm.wps.model.factory.ContentModelCache.isolated
com.ibm.wps.model.factory.NavigationSelectionModelCache.live
com.ibm.wps.model.factory.URLMappingCache.live
com.ibm.wps.model.factory.MultiModelCache.live
com.ibm.wps.model.content.impl.DynamicLoadCache
com.ibm.wps.model.factory.URLMappingCache.isolated
com.ibm.wps.model.factory.MultiModelCache.isolated
wps.mappingurl.ContextsCache
com.ibm.wps.services.vpmapping.VirtualPortalIDToRealmCache
com.ibm.wps.model.impl.RuntimeClientMap.userAgent2client
wps.mappingurl.LookupCache
wsrp.cache.portletdescription
com.ibm.wps.services.vpmapping.VirtualPortalIDToURLCache
com.ibm.wps.services.vpmapping.URLToVirtualPortalIDCache
W S R P
wsrp.cache.producer.user
wsrp.cache.servicedescription
wsrp.cache.portlet.instance
wsrp.cache.portlet.window
processintegration.PendingTasksCache
wsrp.producer.portletpool.pops
wsrp.producer.portletpool.ccps
wp.te.transformationAssociationCache
com.lotus.cs.services.directory.ldap.BasicLDAPDirectoryService.server
com.ibm.wps.policy.services.PolicyCacheManager
com.ibm.wps.policy.services.UserPolicyNodeCacheManager
P O L I C Y
com.lotus.cs.services.UserEnvironment
com.lotus.cs.services.directory.ldap.BasicLDAPDirectoryService.user
com.lotus.cs.services.directory.wmm.WMMDirectoryService
com.lotus.cs.services.domino.DominoService
com.ibm.wps.pe.portletentity
com.ibm.wps.services.cache.cachedstate.CachedStateServiceCache.cache
wp.xml.configitems
PortletMenuCache
Default size 32, default lifetime infinite, usage pattern regular
RegistryService
com.ibm.workplace.searchmenu.helper.SearchMenuCacheHelper
Default size 2500, default lifetime 3730, usage pattern regular
Example Scenarios
Now we shall consider some recommendations for specific scenarios
We increased the lifetimes of all caches to at least one hour
com.ibm.wps.datastore.pageinstance.OIDCache
services/cache/iwk/objectsummary - WCM Summary
WEB CONTENT MANAGEMENT CACHES
services/cache/iwk/strategy - WCM Item caching
WCM Cache Instances
services/cache/iwk/module
services/cache/iwk/processing - Advanced and Resour ces
services/cache/iwk/session - Session
services/cache/iwk/abspath - Absolute path
services/cache/iwk/menu - Menu
services/cache/iwk/nav Navigator
services/cache/iwk/missed - Missed Items
User cache
services/cache/iwk/libparent - Library Parent
Services/cache/iwk/draftSummary - Draft Summary
user.cache.enabled=true
WebSphere Portal Information Center
Andrew Citron Nathan Cook Sabine Forkel Uwe Haller Shibi John
Mark Alkins, Manager
Lee Backstrom, Document Coordinator
Klaus Nossek Kyung Lee Denny Pichardo, Technical Lead
The following are trademarks of other companies
W E BS P HE R E P O R T AL V 6 . 1 T U N I N G G U I D E