IBM WebSphere Portal software family Your world. Your way
Performance Tuning Guide
IBM WebSphere Portal
IBM WPLC Performance Team March Document version
Contents
PERFORMANCE TUNING OVERVIEW
BASE PORTAL TUNING
WEB 2.0 THEME TUNING
MANY PAGES TUNING
WEB CONTENT MANAGEMENT TUNING
COMPOSITE APPLICATIONS TUNING
CLUSTER TUNING
General Information
Cache Usage Patterns
Cache Instances
Example Scenarios
Figures
Tables
ABOUT THIS DOCUMENT
PERFORMANCE TUNING OVERVIEW
Environment Considerations
BASE PORTAL TUNING
Application Server Tuning
How to get to Admin Console
3. http//yourhost10001/admin
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
server
XXMaxPermSize
XX+UseConcMarkSweepGC
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
How to Set
initPoolSize
prefPoolSize
maxPoolSize
WebSphere Portal Services
Parameter
RegistryService.properties
R E G I S T R Y S E R V I C E
Parameter
Cache Name
C A C H E M A N A G E R S E R V I C E
Database Tuning
Database
Database name
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
smitty aio Change/Show Characteristics of Async I/O MinServers =
Mount -o cio /u02
chdev -l sys0 -a maxuproc=’4096’
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
db2 “update db config for idsldap using dbheap 4800”
Directory Server Tuning
db2 alter bufferpool IBMDEFAULTBP size
Web Server Tuning
KeepAliveTimeout
Access logging
ThreadsPerChild
Note For z/OS, no Web Server was configured
MinSpareThreads
MaxSpareThreads
MaxClients
Operating System Tuning
HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Services\
Tcpip\Parameters. Create a new REGDWORD named below
L I N U N E T W O R K T U N I N G
W I N D O W S 2 0 0 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
N E T W O R K T U N I N G
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
Navigator Service Properties
WEB 2.0 THEME TUNING
JVM Initial and Maximum Heap Size
Internet Explorer Support of Vary Header
Caching Proxy Tuning
Proxy /searchfeed* http//server-name/searchfeed
# set cache-control public for various static content
# uncommented these to enable statics to be cached
Web Server Tuning
Portlet Caching
ExpiresActive On
a. expiration-cache28800/expiration-cache
b. cache-scopepublic/cache-scope
MANY PAGES TUNING
DB2 Database Tuning
Table 19 Cache Manager Service Settings for Many Pages
Cache Manager Service
Required Fixes
WEB CONTENT MANAGEMENT TUNING
Application Server Tuning
WebSphere Portal Service Properties
Table 20 Cache Manager Service Settings for WCM
CacheManagerService.properties File
Cache Name
WCM Object Cache
Cache Name
WCM Configuration Service
JCR Text Search
DB2 Tuning Authoring Environment
Bufferpool settings
Z / O S
T A B L E S P A C E S
B U F F E R P O O L S
TBSBPLOB
TBSBPOOL
IDXBPOOL
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
CLUSTER TUNING
Value true
Application Server Tuning
Value true
How-To Set
Table 26 Web Server Tuning for Clusters
Web Server Tuning
MaxRequestsPerChild
Session Persistence To Database Tuning
Setting
Additional Details
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
BrowserMatch Mozilla/4 gzip-only-text/html
# Dont compress images
LoadModule headersmodule modules/modheaders.so
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.AccessControlUserContextCache
com.ibm.wps.ac.ProtectedResourceCache
com.ibm.wps.ac.OwnedResourcesCache
com.ibm.wps.ac.RolesCache
com.ibm.wps.ac.ExternalOIDCache
com.ibm.wps.ac.ApplicationRoleOIDCache
com.ibm.wps.ac.ChildResourcesCache
com.ibm.wps.ac.ApplicationRoleDescriptorCache
com.ibm.wps.ac.ApplicationRolesForPrincipalCache
com.ibm.wps.ac.ContainedRolesCache
com.ibm.wps.ac.ApplicationRoleChildrenCache
com.ibm.wps.puma.DNOIDCache / com.ibm.wps.puma.OIDDNCache
com.ibm.wps.datastore.services.Identification.OidAndUniqueName.cache
com.ibm.wps.datastore.PortalIdCache.vpPerLpid.cache
com.ibm.wps.datastore.PortalIdCache.explicitLpidPerVP
com.ibm.wps.datastore.pageinstance.OIDCache
com.ibm.wps.datastore.pageinstance.DynamicNodeCache
com.ibm.wps.datastore.pageinstance.DerivationCache
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.ContentModelCache.isolated
com.ibm.wps.model.factory.NavigationSelectionModelCache.live
com.ibm.wps.model.factory.NavigationSelectionModelCache.isolated
com.ibm.wps.model.factory.URLMappingCache.live
com.ibm.wps.model.content.impl.DynamicLoadCache
com.ibm.wps.model.factory.URLMappingCache.isolated
com.ibm.wps.model.factory.MultiModelCache.live
com.ibm.wps.model.factory.MultiModelCache.isolated
com.ibm.wps.services.vpmapping.VirtualPortalIDToRealmCache
com.ibm.wps.model.impl.RuntimeClientMap.userAgent2client
wps.mappingurl.ContextsCache
wps.mappingurl.LookupCache
com.ibm.wps.services.vpmapping.VirtualPortalIDToURLCache
com.ibm.wps.services.vpmapping.URLToVirtualPortalIDCache
wsrp.cache.portletdescription
W S R P
wsrp.cache.servicedescription
wsrp.cache.portlet.instance
wsrp.cache.producer.user
wsrp.cache.portlet.window
wsrp.producer.portletpool.pops
wsrp.producer.portletpool.ccps
processintegration.PendingTasksCache
wp.te.transformationAssociationCache
com.ibm.wps.policy.services.PolicyCacheManager
com.ibm.wps.policy.services.UserPolicyNodeCacheManager
com.lotus.cs.services.directory.ldap.BasicLDAPDirectoryService.server
P O L I C Y
com.lotus.cs.services.directory.ldap.BasicLDAPDirectoryService.user
com.lotus.cs.services.directory.wmm.WMMDirectoryService
com.lotus.cs.services.UserEnvironment
com.lotus.cs.services.domino.DominoService
com.ibm.wps.services.cache.cachedstate.CachedStateServiceCache.cache
wp.xml.configitems
com.ibm.wps.pe.portletentity
PortletMenuCache
RegistryService
com.ibm.workplace.searchmenu.helper.SearchMenuCacheHelper
Default size 32, default lifetime infinite, usage pattern regular
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
WEB CONTENT MANAGEMENT CACHES
services/cache/iwk/strategy - WCM Item caching
services/cache/iwk/objectsummary - WCM Summary
WCM Cache Instances
services/cache/iwk/processing - Advanced and Resour ces
services/cache/iwk/module
services/cache/iwk/session - Session
services/cache/iwk/menu - Menu
services/cache/iwk/nav Navigator
services/cache/iwk/abspath - Absolute path
services/cache/iwk/missed - Missed Items
services/cache/iwk/libparent - Library Parent
Services/cache/iwk/draftSummary - Draft Summary
User cache
user.cache.enabled=true
WebSphere Portal Information Center
Mark Alkins, Manager
Lee Backstrom, Document Coordinator
Andrew Citron Nathan Cook Sabine Forkel Uwe Haller Shibi John
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