Performance Load Cache


of 30

  • date post

  • Category

  • view

  • download


Embed Size (px)


A good presentation on how the PeopleSoft LoadCache works and why it's a good performance enhancement.


  • 1. Application Server Caching
    • Benefits of Application Server (PSAPPSRV) Caching
    • Caching improves application performance
    • More predictable response when pre-loaded
  • Types of Application Server (PSAPPSRV) Cache
    • Memory Cache always enabled
    • File Cache configurable

2. PSAPPSRV Cache Settings

  • ServerCacheMode
  • [0] - non-shared cache
  • cache files in$PS_HOMEappservdomainCACHEPSAPPSRV_n
  • [1] - shared cache
  • revert to non-shared if cache not pre-loaded during boot
  • cache files in PS_HOMEappservdomainCACHESHARE
  • EnableServerCaching
    • [0] none,[1] most objects,[2] all objects
  • CacheBaseDir
    • - base file cache directory for domain can be configured

3. PSAPPSRV Cache Settings

  • MaxCacheMemory
    • - maximum memory cache size in MBytes
    • - tradeoff between performance and available memory
    • - pruning disabled when set to 0
  • PreloadFileCache
    • - preload cache to file
  • PreloadMemoryCache
    • - preload cache to memory

4. PSAPPSRV Cache Objects

    • Application Engine Program
    • Application Package
    • Component Interface
    • Business Process
    • Permission List
    • Content (images HTML etc)
    • File Layout Object
    • Menu
    • Application message Information
    • Panel Information
    • Portal Registry Information
    • Record
    • Script Model (generated implicitly)
    • SQL repository
    • Stylesheet
    • Tree structures
    • User Profile
    • URL address
    • Etc.

5. PSAPPSRV File Cache Mode:Non-Shared 6. PSAPPSRV File Cache Mode:Non-shared(default)

  • One cache directory per PSAPPSRV process in a domain
  • Cache files may be pre-loaded using loadcache program
  • Invalid cache will be updated
  • More space required for cache files
  • Cache Directory:$PS_HOMEappservdomainCACHEPSAPPSRV_n
  • ** File cache items are not portable to different O/S.

7. PSAPPSRV File Cache Mode:Shared 8. PSAPPSRV File Cache Mode:Shared

  • One cache directory for all PSAPPSRV processes in a domain
  • Cache must be preloaded
  • Invalid cache will not be updated
  • Run loadcache to update cache files
  • Cache Directory:$PS_HOMEappservdomainCACHESHARE
  • ** File cache items are not portable to different O/S.

9. Example of Changes ThatInvalidate Cache

  • Metadata Changes
  • Design Changes
  • Upgrades
  • Patches
  • Updating PSSTATUS.LASTREFRESHDTTM (all cache items will be marked as invalid)
  • etc.

10. LoadCache Program

  • AE program use for preloading cache for the Application Server
  • Run LoadCache program at least once for shared file cache implementation.
  • Factors affecting Loadcache run time:
    • number of active languages
    • size of the database
    • performance of the machine

11. Improving LoadCache Run Time

  • Incremental Load
    • ** Load staging directory with cache before
    • running the LoadCache program.
  • Reduce the number of active languages
  • Run Loadcache program in parallel

12. LoadCache:Incremental Load

  • Incremental load is a built-in LoadCache feature
  • Loadcache only updates changed/missing objects
  • LoadCache can use any existing cache files
  • Default target folder:$PS_HOME/appserv/prcs//CACHE/CACHE/STAGE/stage

13. LoadCache:Incremental Load

  • Procedure:
  • Use cache files from a previous LoadCache run or
  • existing application server cache files
  • Copy them to the target folder for LoadCache and run the Loadcache program

14. LoadCache:Reduce the numberof Active Languages

  • Loadcache run time increased with additional languages
  • Cache file sized increased with additional languages
  • Methods for checking active languages:
      • PeopleTools > Utilities > International > Languages in PIA
      • select from the PSLANGUAGES table in the database (where installed = 1)
  • Considerations for inactivating additional languages :
  • make sure you only activate the languages you use
  • base language cannot be inactivated

15. LoadCache:Parallel Processing

  • LoadCache creates cache files for 50 object types
  • Default behavior is to load the files for each object type serially
  • To enable parallel processing, must clone LoadCache program and change the following delivered LoadCache code:
  • &array_MgrName = CreateArray ("ACM", "AEM", "AES", "APM", "ATM", "BCM", "BPM", "CHDM", "CLM", "CRM", "ENTM", "ERSTM", "FDM", "FLM", "GTM", "IOM", "MDM", "MNDM", "MPM", "MSDM", "MSG", "NTM", "PBM", "PCM", "PDM", "PGM", "PRDM", "PRSM", "PRUF", "PRUH", "PSD", "PSJ", "PSR", "PSS", "PST", "RDM", "RSM", "RSTM", "SCM", "SPTM", "SRM", "SSM", "SUDM", "TSM", "UPM", "URL", "VAM", "XTM");
  • &ret = PreloadCache(&array_MgrName, &dirPath, /* purge existing cache = */ False);

16. LoadCache:Parallel Processing

  • Procedure :
  • Open the LoadCache AE program in App Designer
  • Clone the LoadCache AE program and the AE PeopleCode
  • Modify the manager name array so each clone of the LoadCache program would only load the cache files for certain object types
  • Run these AE programs in parallel from the command line, or by using a Process Scheduler jobset.

17. LoadCache:Parallel Processing

  • Available server resource
  • Modifications to LoadCache program are necessary
  • Implicitly generated cache files
  • Redundant files
  • Copying of cache files from multiple folders

18. LoadCache Summary

  • Incremental load is least intrusive and could provide the biggest savings
  • Disabling unused languages would shorten LoadCache runtime
  • Parallelizing/splitting the LoadCache program offers a more flexible way of preloading cache files, but more preparation/maintenance is necessary

19. New in PeopleTools 8.48

  • PreloadFileCache and PreloadMemoryCache
  • Involves creating a project containing commonly used components and then referring to these projects in the the psappsrv.cfg
  • the parameters are commented out by default

20. PreloadFileCache / PreloadMemoryCache

  • you can set the parameters to reference separate projects
  • these projects will be stored in the database, like any other Peoplesoft project.
  • the projects can be copied, exported etc. across databases and platforms.

21. Creating the Preload Projects

  • First, select the components that you want to preload: PeopleTools > Utilities > Administration > Select Pre-load Components

22. Creating the Preload Projects

  • Next, build the Preload Project: PeopleTools > Utilities > Administration > Create Pre-load Project

23. Creating the Preload Projects

  • In general, it is recommended to create a large project for the PreloadFileCache setting and a small subset of components for the PreloadMemoryCache project.
  • The optimum selections for the projects will require tuning and testing at your site.

24. PreloadFileCache

  • intended to be used for a new domain, where the file cache is not yet built
  • the domain starts a PSAPPSRV process, builds the file cache for the specified components and dependant records, and shuts down

25. PreloadFileCache

  • PSAdmin then copies this cache file to the cache folder of the other appservers(the max configured for the domain), so that all the appservers will have the preloade