IBM 6.1.X manual Managing the Retrieval of User Attributes

Page 58

Managing the Retrieval of User Attributes

A user directory doesn’t just contain a user’s ID and password; it also contains a number of other pieces of information – attributes – about the user. A directory server can contain a lot of attributes for each user, so if every reference to a user required retrieving all of these attributes, this would impose a performance penalty on both the Portal server node(s) and the directory server node(s).

Therefore WebSphere Portal attempts to optimize the loading of these attributes. Two sets of user attributes are defined: the base set of attributes, and the minimum set of attributes. Depending on what action caused the user to be retrieved from the directory, either the base or the minimum set of attributes will be retrieved. Typically, the base set of attributes will be loaded when the user is retrieved; for example, this is what occurs when a user logs in. If the user was looked up when searching for users, then the minimum set of attributes will be loaded. For example, this can occur when searching for users to assign access to a page.

By default, WebSphere Portal defines the user attribute sets as follows:

Base set: the following attributes are in the base set: o uid

o cn o sn

o preferredLanguage o ibm-primaryEmail o givenName

o displayName

Minimum set:

ouid o cn

What happens if additional attributes are needed? For example, consider a portlet which requires the user attribute countryName. Assume that the user in question was looked up on login, so the base set of attributes was retrieved. The attribute countryName isn’t in the base set, so the full user record – with all of its attributes – will be retrieved from the directory server at that point. This will require a second request to the directory server. Also, since all user attributes are retrieved on the second request, this can end up consuming more memory on the WebSphere Portal server.

This provides an important performance tuning point to both improve response times and reduce load on the directory server. If a user attribute will commonly be needed, then it should be included in the base set of attributes so that it’s retrieved on the initial lookup, eliminating the need for a second request. However, if an attribute is only needed infrequently, consider leaving it out of the base set of attributes, so that it’s not retrieved for all users.

5 3

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

Image 58
Contents IBM WebSphere Portal IBM WebSphere Portal software family Your world. Your wayContents Web Server Tuning Portlet Caching General Information Figures About this Document Performance Tuning Overview Environment Considerations Base Portal Tuning Application Server Tuning How to get to Admin Console2003 ParameterLinux Solaris Windows Initial 1792 2048POWER5 New Area Size Xmn320m Xmn256m Xmn768m Xmn1024m Parameter Value Additional InformationSession Minutes TimeoutWeb Container Thread pool Size Name Value PropagationHow to Set Context Pool Setting Default ValueWebSphere Portal Services Default Value Definition UsedG I S T R Y S E R V I C E Default Value Value Used Cache NameDatabase Tuning Database Database name Datasource name2 O N a I X S E T U P Db2 reorgchk update statistics on table all Db2 reorgchk current statistics on table all reorgchk.txt A C L E D a T a B a S E S E R V E R T U N I N G AIXTHREADSCOPE=S Parameter ValueExecute Directory Server Tuning Db2 update db config for idsldap using dbheapWeb Server Tuning Linux Windows Additional InformationMinSpareThreads MaxSpareThreads Operating System Tuning N U T W O R K T U N I N G How-to-Setndd -set /dev/tcpPARAMETER Value L a R I S C O N T a I N E R Required Fixes MaxthreadtasksParameter Setting Used WEB 2.0 Theme TuningNavigator Service Properties JVM Initial and Maximum Heap SizeParameter Setting Used Additional Information Caching Proxy TuningInternet Explorer Support of Vary Header # uncommented these to enable statics to be cached # set cache-control public for various static contentPortlet Caching ExpiresActive OnDB2 Database Tuning Many Pages TuningRelease DB Parameter Cache Manager Service WEB Content Management Tuning WebSphere Portal Service Properties Cache NameWCM Object Cache WCM Configuration Service JCR Text SearchDB2 Tuning Authoring Environment DB2 BP4 Composite Applications Tuning Cache Manager Service PropertiesComposite Applications Best Practices BS P HE R E P O R T AL V 6 T U N I N G G U I D E Cluster Tuning Value trueHow-To Set ThreadLimit ServerLimit Session Persistence To Database Tuning Parameter Setting Additional DetailsVertical Cluster Tuning IBM Tivoli Directory Server Tuning Other Performance Tuning Options Improving Portal Startup PerformanceManaging the Retrieval of User Attributes BS P HE R E P O R T AL V 6 T U N I N G G U I D E Use of Dynamic Content Features Real-World Network Considerations BrowserMatch Mozilla/4 gzip-only-text/html Websphere Portal Caches General InformationBS P HE R E P O R T AL V 6 T U N I N G G U I D E BS P HE R E P O R T AL V 6 T U N I N G G U I D E Cache Usage Patterns Pattern invalidation checkingCache Instances Portal Access Control Cache Hierarchy Com.ibm.wps.ac.PermissionCollectionCacheCom.ibm.wps.ac.OwnedResourcesCache Com.ibm.wps.ac.AccessControlUserContextCacheCom.ibm.wps.ac.ProtectedResourceCache Com.ibm.wps.ac.RolesCacheCom.ibm.wps.ac.ExternalOIDCache Com.ibm.wps.ac.ApplicationRoleOIDCache Com.ibm.wps.ac.ChildResourcesCacheCom.ibm.wps.ac.ApplicationRoleDescriptorCache Com.ibm.wps.ac.ApplicationRoleChildrenCache Com.ibm.wps.ac.ApplicationRolesForPrincipalCacheCom.ibm.wps.ac.ContainedRolesCache Com.ibm.wps.puma.DNOIDCache / com.ibm.wps.puma.OIDDNCacheCom.ibm.wps.datastore.PortalIdCache.explicitLpidPerVP Com.ibm.wps.datastore.PortalIdCache.vpPerLpid.cacheCom.ibm.wps.datastore.pageinstance.OIDCache Com.ibm.wps.datastore.pageinstance.DerivationCache Com.ibm.wps.datastore.pageinstance.DynamicNodeCacheCom.ibm.wps.model.content.impl.ResourceCache Com.ibm.wps.model.factory.SimpleCacheKeyCom.ibm.wsp.mode.content.impl.TopologyCache Com.ibm.wps.model.factory.ContentModelCache.liveCom.ibm.wps.model.factory.ContentModelCache.isolated Com.ibm.wps.model.factory.URLMappingCache.liveCom.ibm.wps.model.factory.MultiModelCache.live Com.ibm.wps.model.content.impl.DynamicLoadCacheCom.ibm.wps.model.factory.URLMappingCache.isolated Com.ibm.wps.model.factory.MultiModelCache.isolatedWps.mappingurl.ContextsCache Com.ibm.wps.services.vpmapping.VirtualPortalIDToRealmCacheCom.ibm.wps.model.impl.RuntimeClientMap.userAgent2client Wps.mappingurl.LookupCacheCom.ibm.wps.services.vpmapping.URLToVirtualPortalIDCache Com.ibm.wps.services.vpmapping.VirtualPortalIDToURLCacheWsrp.cache.portletdescription Wsrp.cache.producer.user Wsrp.cache.servicedescriptionWsrp.cache.portlet.instance Wsrp.cache.portlet.windowProcessintegration.PendingTasksCache Wsrp.producer.portletpool.popsWsrp.producer.portletpool.ccps Wp.te.transformationAssociationCacheCom.ibm.wps.policy.services.PolicyCacheManager Com.ibm.wps.policy.services.UserPolicyNodeCacheManagerCom.lotus.cs.services.UserEnvironment Com.lotus.cs.services.directory.wmm.WMMDirectoryServiceCom.lotus.cs.services.domino.DominoService Com.ibm.wps.pe.portletentity Wp.xml.configitemsPortletMenuCache RegistryService Com.ibm.workplace.searchmenu.helper.SearchMenuCacheHelperExample Scenarios BS P HE R E P O R T AL V 6 T U N I N G G U I D E R T a L S W I T H L O N G S E S S I O N T I M E O U T S BS P HE R E P O R T AL V 6 T U N I N G G U I D E Services/cache/iwk/objectsummary WCM Summary WEB Content Management CachesServices/cache/iwk/strategy WCM Item caching WCM Cache InstancesServices/cache/iwk/processing Advanced and Resour ces Services/cache/iwk/moduleServices/cache/iwk/session Session Services/cache/iwk/abspath Absolute path Services/cache/iwk/menu MenuServices/cache/iwk/nav Navigator Services/cache/iwk/missed Missed ItemsServices/cache/iwk/draftSummary Draft Summary Services/cache/iwk/libparent Library ParentUser cache Appendix A. References Mark Alkins, Manager Lee Backstrom, Document CoordinatorBS P HE R E P O R T AL V 6 T U N I N G G U I D E