Performance Tuning Guide
IBM WebSphere Portal software family Your world. Your way
IBM WebSphere Portal
IBM WPLC Performance Team March Document version
PERFORMANCE TUNING OVERVIEW
Contents
BASE PORTAL TUNING
WEB 2.0 THEME TUNING
WEB CONTENT MANAGEMENT TUNING
MANY PAGES TUNING
COMPOSITE APPLICATIONS TUNING
CLUSTER TUNING
Cache Usage Patterns
General Information
Cache Instances
Example Scenarios
Tables
Figures
ABOUT THIS DOCUMENT
PERFORMANCE TUNING OVERVIEW
Environment Considerations
BASE PORTAL TUNING
How to get to Admin Console
Application Server Tuning
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
XXMaxPermSize
server
XX+UseConcMarkSweepGC
XXSurvivorRatio
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
S E S S I O N T I M E O U T
Note to WAS
initPoolSize
How to Set
prefPoolSize
maxPoolSize
Parameter
WebSphere Portal Services
RegistryService.properties
R E G I S T R Y S E R V I C E
Parameter
C A C H E M A N A G E R S E R V I C E
Cache Name
Database
Database Tuning
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
Mount -o cio /u02
smitty aio Change/Show Characteristics of Async I/O MinServers =
chdev -l sys0 -a maxuproc=’4096’
sessions
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
execute
db2 “update db config for idsldap using dbheap 4800”
Directory Server Tuning
db2 alter bufferpool IBMDEFAULTBP size
KeepAliveTimeout
Web Server Tuning
Access logging
ThreadsPerChild
MinSpareThreads
Note For z/OS, no Web Server was configured
MaxSpareThreads
MaxClients
Operating System Tuning
Tcpip\Parameters. Create a new REGDWORD named below
HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Services\
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
S O L A R I S
How-to-Set ndd -set /dev/tcp PARAMETER VALUE
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
ExpiresActive On
Portlet Caching
a. expiration-cache28800/expiration-cache
b. cache-scopepublic/cache-scope
DB2 Database Tuning
MANY PAGES TUNING
Table 19 Cache Manager Service Settings for Many Pages
Cache Manager Service
Required Fixes
Application Server Tuning
WEB CONTENT MANAGEMENT TUNING
Table 20 Cache Manager Service Settings for WCM
WebSphere Portal Service Properties
CacheManagerService.properties File
Cache Name
Cache Name
WCM Object Cache
JCR Text Search
WCM Configuration Service
DB2 Tuning Authoring Environment
Z / O S
Bufferpool settings
T A B L E S P A C E S
B U F F E R P O O L S
TBSBPOOL
TBSBPLOB
IDXBPOOL
D B 2 F O R Z / O S V 8 F I X E S
Cache Manager Service Properties
COMPOSITE APPLICATIONS TUNING
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
Value true
CLUSTER TUNING
Application Server Tuning
Value true
How-To Set
Table 26 Web Server Tuning for Clusters
Web Server Tuning
MaxRequestsPerChild
Setting
Session Persistence To Database Tuning
Additional Details
Table 27 WebSphere Session Persistence Tuning
Vertical Cluster Tuning
Required Fixes
IBM Tivoli Directory Server Tuning
Improving Portal Startup Performance
OTHER PERFORMANCE TUNING OPTIONS
Managing the Retrieval of User Attributes
The two trace strings are
content.topology.dynamic=false
Use of Dynamic Content Features
Real-World Network Considerations
# Dont compress images
BrowserMatch Mozilla/4 gzip-only-text/html
LoadModule headersmodule modules/modheaders.so
Location ~ \.jsgifjpgjpegpng$
General Information
WEBSPHERE PORTAL CACHES
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
Figure 1 Portal Access Control Cache Hierarchy
com.ibm.wps.ac.PermissionCollectionCache
com.ibm.wps.ac.ProtectedResourceCache
com.ibm.wps.ac.AccessControlUserContextCache
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.ContainedRolesCache
com.ibm.wps.ac.ApplicationRolesForPrincipalCache
com.ibm.wps.ac.ApplicationRoleChildrenCache
com.ibm.wps.puma.DNOIDCache / com.ibm.wps.puma.OIDDNCache
com.ibm.wps.datastore.PortalIdCache.vpPerLpid.cache
com.ibm.wps.datastore.services.Identification.OidAndUniqueName.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.factory.SimpleCacheKey
com.ibm.wps.model.content.impl.ResourceCache
com.ibm.wps.model.factory.ContentModelCache.live
com.ibm.wsp.mode.content.impl.TopologyCache
com.ibm.wps.model.factory.NavigationSelectionModelCache.live
com.ibm.wps.model.factory.ContentModelCache.isolated
com.ibm.wps.model.factory.NavigationSelectionModelCache.isolated
com.ibm.wps.model.factory.URLMappingCache.live
com.ibm.wps.model.factory.URLMappingCache.isolated
com.ibm.wps.model.content.impl.DynamicLoadCache
com.ibm.wps.model.factory.MultiModelCache.live
com.ibm.wps.model.factory.MultiModelCache.isolated
com.ibm.wps.model.impl.RuntimeClientMap.userAgent2client
com.ibm.wps.services.vpmapping.VirtualPortalIDToRealmCache
wps.mappingurl.ContextsCache
wps.mappingurl.LookupCache
com.ibm.wps.services.vpmapping.URLToVirtualPortalIDCache
com.ibm.wps.services.vpmapping.VirtualPortalIDToURLCache
wsrp.cache.portletdescription
W S R P
wsrp.cache.portlet.instance
wsrp.cache.servicedescription
wsrp.cache.producer.user
wsrp.cache.portlet.window
wsrp.producer.portletpool.ccps
wsrp.producer.portletpool.pops
processintegration.PendingTasksCache
wp.te.transformationAssociationCache
com.ibm.wps.policy.services.UserPolicyNodeCacheManager
com.ibm.wps.policy.services.PolicyCacheManager
com.lotus.cs.services.directory.ldap.BasicLDAPDirectoryService.server
P O L I C Y
com.lotus.cs.services.directory.wmm.WMMDirectoryService
com.lotus.cs.services.directory.ldap.BasicLDAPDirectoryService.user
com.lotus.cs.services.UserEnvironment
com.lotus.cs.services.domino.DominoService
wp.xml.configitems
com.ibm.wps.services.cache.cachedstate.CachedStateServiceCache.cache
com.ibm.wps.pe.portletentity
PortletMenuCache
com.ibm.workplace.searchmenu.helper.SearchMenuCacheHelper
RegistryService
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
services/cache/iwk/strategy - WCM Item caching
WEB CONTENT MANAGEMENT CACHES
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/nav Navigator
services/cache/iwk/menu - Menu
services/cache/iwk/abspath - Absolute path
services/cache/iwk/missed - Missed Items
Services/cache/iwk/draftSummary - Draft Summary
services/cache/iwk/libparent - Library Parent
User cache
user.cache.enabled=true
WebSphere Portal Information Center
Lee Backstrom, Document Coordinator
Mark Alkins, Manager
Andrew Citron Nathan Cook Sabine Forkel Uwe Haller Shibi John
Klaus Nossek Kyung Lee Denny Pichardo, Technical Lead
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
The following are trademarks of other companies