IBM WPLC Performance Team March Document version
IBM WebSphere Portal software family Your world. Your way
Performance Tuning Guide
IBM WebSphere Portal
WEB 2.0 THEME TUNING
Contents
PERFORMANCE TUNING OVERVIEW
BASE PORTAL TUNING
CLUSTER TUNING
MANY PAGES TUNING
WEB CONTENT MANAGEMENT TUNING
COMPOSITE APPLICATIONS TUNING
Example Scenarios
General Information
Cache Usage Patterns
Cache Instances
Tables
Figures
ABOUT THIS DOCUMENT
PERFORMANCE TUNING OVERVIEW
Environment Considerations
BASE PORTAL TUNING
http//www-01.ibm.com/software/webservers/appserv/was/library
Application Server Tuning
How to get to Admin Console
3. http//yourhost10001/admin
On Solaris and zLinux, we use 3.5GB heap size in 64-bit environment
reboot -q vmo -p -o vpinshm=1
XXSurvivorRatio
server
XXMaxPermSize
XX+UseConcMarkSweepGC
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
maxPoolSize
How to Set
initPoolSize
prefPoolSize
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
Datasource name
Database Tuning
Database
Database 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
sessions
smitty aio Change/Show Characteristics of Async I/O MinServers =
Mount -o cio /u02
chdev -l sys0 -a maxuproc=’4096’
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
ThreadsPerChild
Web Server Tuning
KeepAliveTimeout
Access logging
MaxClients
Note For z/OS, no Web Server was configured
MinSpareThreads
MaxSpareThreads
Operating System Tuning
W I N D O W S 2 0 0 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
L I N U 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
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
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
b. cache-scopepublic/cache-scope
Portlet Caching
ExpiresActive On
a. expiration-cache28800/expiration-cache
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
Cache Name
WebSphere Portal Service Properties
Table 20 Cache Manager Service Settings for WCM
CacheManagerService.properties File
Cache Name
WCM Object Cache
JCR Text Search
WCM Configuration Service
DB2 Tuning Authoring Environment
B U F F E R P O O L S
Bufferpool settings
Z / O S
T A B L E S P A C E S
D B 2 F O R Z / O S V 8 F I X E S
TBSBPLOB
TBSBPOOL
IDXBPOOL
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
Value true
Application Server Tuning
How-To Set
Table 26 Web Server Tuning for Clusters
Web Server Tuning
MaxRequestsPerChild
Table 27 WebSphere Session Persistence Tuning
Session Persistence To Database Tuning
Setting
Additional Details
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
Location ~ \.jsgifjpgjpegpng$
BrowserMatch Mozilla/4 gzip-only-text/html
# Dont compress images
LoadModule headersmodule modules/modheaders.so
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.RolesCache
com.ibm.wps.ac.AccessControlUserContextCache
com.ibm.wps.ac.ProtectedResourceCache
com.ibm.wps.ac.OwnedResourcesCache
com.ibm.wps.ac.ExternalOIDCache
com.ibm.wps.ac.ApplicationRoleOIDCache
com.ibm.wps.ac.ChildResourcesCache
com.ibm.wps.ac.ApplicationRoleDescriptorCache
com.ibm.wps.puma.DNOIDCache / com.ibm.wps.puma.OIDDNCache
com.ibm.wps.ac.ApplicationRolesForPrincipalCache
com.ibm.wps.ac.ContainedRolesCache
com.ibm.wps.ac.ApplicationRoleChildrenCache
com.ibm.wps.datastore.pageinstance.OIDCache
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.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.URLMappingCache.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.MultiModelCache.isolated
com.ibm.wps.model.content.impl.DynamicLoadCache
com.ibm.wps.model.factory.URLMappingCache.isolated
com.ibm.wps.model.factory.MultiModelCache.live
wps.mappingurl.LookupCache
com.ibm.wps.services.vpmapping.VirtualPortalIDToRealmCache
com.ibm.wps.model.impl.RuntimeClientMap.userAgent2client
wps.mappingurl.ContextsCache
W S R P
com.ibm.wps.services.vpmapping.VirtualPortalIDToURLCache
com.ibm.wps.services.vpmapping.URLToVirtualPortalIDCache
wsrp.cache.portletdescription
wsrp.cache.portlet.window
wsrp.cache.servicedescription
wsrp.cache.portlet.instance
wsrp.cache.producer.user
wp.te.transformationAssociationCache
wsrp.producer.portletpool.pops
wsrp.producer.portletpool.ccps
processintegration.PendingTasksCache
P O L I C Y
com.ibm.wps.policy.services.PolicyCacheManager
com.ibm.wps.policy.services.UserPolicyNodeCacheManager
com.lotus.cs.services.directory.ldap.BasicLDAPDirectoryService.server
com.lotus.cs.services.domino.DominoService
com.lotus.cs.services.directory.ldap.BasicLDAPDirectoryService.user
com.lotus.cs.services.directory.wmm.WMMDirectoryService
com.lotus.cs.services.UserEnvironment
PortletMenuCache
com.ibm.wps.services.cache.cachedstate.CachedStateServiceCache.cache
wp.xml.configitems
com.ibm.wps.pe.portletentity
Default size 2500, default lifetime 3730, usage pattern regular
RegistryService
com.ibm.workplace.searchmenu.helper.SearchMenuCacheHelper
Default size 32, default lifetime infinite, 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
WCM Cache Instances
WEB CONTENT MANAGEMENT CACHES
services/cache/iwk/strategy - WCM Item caching
services/cache/iwk/objectsummary - WCM Summary
services/cache/iwk/processing - Advanced and Resour ces
services/cache/iwk/module
services/cache/iwk/session - Session
services/cache/iwk/missed - Missed Items
services/cache/iwk/menu - Menu
services/cache/iwk/nav Navigator
services/cache/iwk/abspath - Absolute path
user.cache.enabled=true
services/cache/iwk/libparent - Library Parent
Services/cache/iwk/draftSummary - Draft Summary
User cache
WebSphere Portal Information Center
Klaus Nossek Kyung Lee Denny Pichardo, Technical Lead
Mark Alkins, Manager
Lee Backstrom, Document Coordinator
Andrew Citron Nathan Cook Sabine Forkel Uwe Haller Shibi John
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