Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Application Server Caching  <ul><li>Benefits of Application Server (PSAPPSRV) Caching </li></ul><ul><ul><li>Caching improv...
PSAPPSRV Cache Settings <ul><li>ServerCacheMode </li></ul><ul><li>[0] - non-shared cache   </li></ul><ul><li>cache files i...
PSAPPSRV Cache Settings <ul><li>MaxCacheMemory </li></ul><ul><ul><li>- maximum memory cache size in MBytes </li></ul></ul>...
PSAPPSRV Cache Objects <ul><ul><li>Application Engine Program </li></ul></ul><ul><ul><li>Application Package </li></ul></u...
PSAPPSRV File Cache Mode:  Non-Shared
PSAPPSRV File Cache Mode:  Non-shared  (default) <ul><li>One cache directory per PSAPPSRV process in a domain </li></ul><u...
PSAPPSRV File Cache Mode:  Shared
PSAPPSRV File Cache Mode:  Shared <ul><li>One cache directory for all PSAPPSRV processes in a domain </li></ul><ul><li>Cac...
Example of Changes That  Invalidate Cache <ul><li>Metadata Changes </li></ul><ul><li>Design Changes </li></ul><ul><li>Upgr...
LoadCache Program <ul><li>AE program use for preloading cache for the Application Server </li></ul><ul><li>Run LoadCache p...
Improving LoadCache Run Time <ul><li>Incremental Load  </li></ul><ul><ul><li>** Load staging directory with cache before  ...
LoadCache:  Incremental Load  <ul><li>Incremental load is a built-in LoadCache feature </li></ul><ul><li>Loadcache only up...
LoadCache:  Incremental Load  <ul><li>Procedure: </li></ul><ul><li>Use cache files from a previous LoadCache run or </li><...
LoadCache:  Reduce the number    of Active Languages <ul><li>Loadcache run time increased with additional languages </li><...
LoadCache:  Parallel Processing <ul><li>LoadCache creates cache files for 50 object types </li></ul><ul><li>Default behavi...
LoadCache:  Parallel Processing <ul><li>Procedure : </li></ul><ul><li>Open the LoadCache AE program in App Designer </li><...
LoadCache:  Parallel Processing <ul><li>CONSIDERATIONS:   </li></ul><ul><li>Available server resource  </li></ul><ul><li>M...
LoadCache Summary <ul><li>Incremental load is least intrusive and could provide the biggest savings </li></ul><ul><li>Disa...
New in PeopleTools 8.48 <ul><li>PreloadFileCache and PreloadMemoryCache </li></ul><ul><li>Involves creating a project cont...
PreloadFileCache / PreloadMemoryCache <ul><li>you can set the parameters to reference separate projects </li></ul><ul><li>...
Creating the Preload Projects <ul><li>First, select the components that you want to preload: PeopleTools > Utilities > Adm...
Creating the Preload Projects <ul><li>Next, build the Preload Project: PeopleTools > Utilities > Administration > Create P...
Creating the Preload Projects <ul><li>In general, it is recommended to create a large project for the PreloadFileCache set...
PreloadFileCache <ul><li>intended to be used for a new domain, where the file cache is not yet built </li></ul><ul><li>the...
PreloadFileCache <ul><li>PSAdmin then copies this cache file to the cache folder of the other appservers(the max configure...
PreloadFileCache <ul><li>if the cache files are already present, the appserver will do an incremental load to add/update d...
PreloadMemoryCache <ul><li>intended to be used during a server process recycle </li></ul><ul><li>since the preloading of m...
PreloadMemoryCache <ul><li>when an appserver process recycles, it loads memory cache based on the project specified by the...
PreloadFileCache/PreloadMemoryCache FAQs <ul><li>1. How do I find out the component name where that am using? </li></ul><u...
PreloadFileCache/PreloadMemoryCache FAQs <ul><li>3. Is there another way to get a list of critical components that I need?...
Upcoming SlideShare
Loading in …5
×

Performance Load Cache

4,079 views

Published on

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

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Performance Load Cache

  1. 1. Application Server Caching <ul><li>Benefits of Application Server (PSAPPSRV) Caching </li></ul><ul><ul><li>Caching improves application performance </li></ul></ul><ul><ul><li>More predictable response when pre-loaded </li></ul></ul><ul><li>Types of Application Server (PSAPPSRV) Cache </li></ul><ul><ul><li>Memory Cache – always enabled </li></ul></ul><ul><ul><li>File Cache – configurable </li></ul></ul>
  2. 2. PSAPPSRV Cache Settings <ul><li>ServerCacheMode </li></ul><ul><li>[0] - non-shared cache </li></ul><ul><li>cache files in $PS_HOMEappservdomainCACHEPSAPPSRV_n </li></ul><ul><li>[1] - shared cache </li></ul><ul><li>revert to non-shared if cache not pre-loaded during boot </li></ul><ul><li>cache files in PS_HOMEappservdomainCACHESHARE </li></ul><ul><li>EnableServerCaching </li></ul><ul><ul><li>[0] – none, [1] – most objects, [2] – all objects </li></ul></ul><ul><li>CacheBaseDir </li></ul><ul><ul><li>- base file cache directory for domain can be configured </li></ul></ul>
  3. 3. PSAPPSRV Cache Settings <ul><li>MaxCacheMemory </li></ul><ul><ul><li>- maximum memory cache size in MBytes </li></ul></ul><ul><ul><li>- tradeoff between performance and available memory </li></ul></ul><ul><ul><li>- pruning disabled when set to 0 </li></ul></ul><ul><li>PreloadFileCache </li></ul><ul><ul><li>- preload cache to file </li></ul></ul><ul><li>PreloadMemoryCache </li></ul><ul><ul><li>- preload cache to memory </li></ul></ul>
  4. 4. PSAPPSRV Cache Objects <ul><ul><li>Application Engine Program </li></ul></ul><ul><ul><li>Application Package </li></ul></ul><ul><ul><li>Component Interface </li></ul></ul><ul><ul><li>Business Process </li></ul></ul><ul><ul><li>Permission List </li></ul></ul><ul><ul><li>Content (images HTML etc) </li></ul></ul><ul><ul><li>File Layout Object </li></ul></ul><ul><ul><li>Menu </li></ul></ul><ul><ul><li>Application message Information </li></ul></ul><ul><ul><li>Panel Information </li></ul></ul><ul><ul><li>Portal Registry Information </li></ul></ul><ul><ul><li>Record </li></ul></ul><ul><ul><li>Script Model (generated implicitly) </li></ul></ul><ul><ul><li>SQL repository </li></ul></ul><ul><ul><li>Stylesheet </li></ul></ul><ul><ul><li>Tree structures </li></ul></ul><ul><ul><li>User Profile </li></ul></ul><ul><ul><li>URL address </li></ul></ul><ul><ul><li>Etc. </li></ul></ul>
  5. 5. PSAPPSRV File Cache Mode: Non-Shared
  6. 6. PSAPPSRV File Cache Mode: Non-shared (default) <ul><li>One cache directory per PSAPPSRV process in a domain </li></ul><ul><li>Cache files may be pre-loaded using loadcache program </li></ul><ul><li>Invalid cache will be updated </li></ul><ul><li>More space required for cache files </li></ul><ul><li>Cache Directory: $PS_HOMEappservdomainCACHEPSAPPSRV_n </li></ul><ul><li>** File cache items are not portable to different O/S. </li></ul>
  7. 7. PSAPPSRV File Cache Mode: Shared
  8. 8. PSAPPSRV File Cache Mode: Shared <ul><li>One cache directory for all PSAPPSRV processes in a domain </li></ul><ul><li>Cache must be preloaded </li></ul><ul><li>Invalid cache will not be updated </li></ul><ul><li>Run loadcache to update cache files </li></ul><ul><li>Cache Directory: $PS_HOMEappservdomainCACHESHARE </li></ul><ul><li>** File cache items are not portable to different O/S. </li></ul>
  9. 9. Example of Changes That Invalidate Cache <ul><li>Metadata Changes </li></ul><ul><li>Design Changes </li></ul><ul><li>Upgrades </li></ul><ul><li>Patches </li></ul><ul><li>Updating PSSTATUS.LASTREFRESHDTTM (all cache items will be marked as invalid) </li></ul><ul><li>etc. </li></ul>
  10. 10. LoadCache Program <ul><li>AE program use for preloading cache for the Application Server </li></ul><ul><li>Run LoadCache program at least once for shared file cache implementation. </li></ul><ul><li>Factors affecting Loadcache run time: </li></ul><ul><ul><li>number of active languages </li></ul></ul><ul><ul><li>size of the database </li></ul></ul><ul><ul><li>performance of the machine </li></ul></ul>
  11. 11. Improving LoadCache Run Time <ul><li>Incremental Load </li></ul><ul><ul><li>** Load staging directory with cache before </li></ul></ul><ul><ul><li>running the LoadCache program. </li></ul></ul><ul><li>Reduce the number of active languages </li></ul><ul><li>Run Loadcache program in parallel </li></ul>
  12. 12. LoadCache: Incremental Load <ul><li>Incremental load is a built-in LoadCache feature </li></ul><ul><li>Loadcache only updates changed/missing objects </li></ul><ul><li>LoadCache can use any existing cache files </li></ul><ul><li>Default target folder: $PS_HOME/appserv/prcs/<domain>/CACHE/CACHE/STAGE/stage </li></ul>
  13. 13. LoadCache: Incremental Load <ul><li>Procedure: </li></ul><ul><li>Use cache files from a previous LoadCache run or </li></ul><ul><li>existing application server cache files </li></ul><ul><li>Copy them to the target folder for LoadCache and run the Loadcache program </li></ul>
  14. 14. LoadCache: Reduce the number of Active Languages <ul><li>Loadcache run time increased with additional languages </li></ul><ul><li>Cache file sized increased with additional languages </li></ul><ul><li>Methods for checking active languages: </li></ul><ul><ul><ul><li>PeopleTools > Utilities > International > Languages in PIA </li></ul></ul></ul><ul><ul><ul><li>select from the PSLANGUAGES table in the database (where installed = 1) </li></ul></ul></ul><ul><li>Considerations for inactivating additional languages : </li></ul><ul><li>make sure you only activate the languages you use </li></ul><ul><li>base language cannot be inactivated </li></ul>
  15. 15. LoadCache: Parallel Processing <ul><li>LoadCache creates cache files for 50 object types </li></ul><ul><li>Default behavior is to load the files for each object type serially </li></ul><ul><li>To enable parallel processing, must clone LoadCache program and change the following delivered LoadCache code: </li></ul><ul><li>  &array_MgrName = CreateArray (&quot;ACM&quot;, &quot;AEM&quot;, &quot;AES&quot;, &quot;APM&quot;, &quot;ATM&quot;, &quot;BCM&quot;, &quot;BPM&quot;, &quot;CHDM&quot;, &quot;CLM&quot;, &quot;CRM&quot;, &quot;ENTM&quot;, &quot;ERSTM&quot;, &quot;FDM&quot;, &quot;FLM&quot;, &quot;GTM&quot;, &quot;IOM&quot;, &quot;MDM&quot;, &quot;MNDM&quot;, &quot;MPM&quot;, &quot;MSDM&quot;, &quot;MSG&quot;, &quot;NTM&quot;, &quot;PBM&quot;, &quot;PCM&quot;, &quot;PDM&quot;, &quot;PGM&quot;, &quot;PRDM&quot;, &quot;PRSM&quot;, &quot;PRUF&quot;, &quot;PRUH&quot;, &quot;PSD&quot;, &quot;PSJ&quot;, &quot;PSR&quot;, &quot;PSS&quot;, &quot;PST&quot;, &quot;RDM&quot;, &quot;RSM&quot;, &quot;RSTM&quot;, &quot;SCM&quot;, &quot;SPTM&quot;, &quot;SRM&quot;, &quot;SSM&quot;, &quot;SUDM&quot;, &quot;TSM&quot;, &quot;UPM&quot;, &quot;URL&quot;, &quot;VAM&quot;, &quot;XTM&quot;); </li></ul><ul><li>&ret = PreloadCache(&array_MgrName, &dirPath, /* purge existing cache = */ False); </li></ul>
  16. 16. LoadCache: Parallel Processing <ul><li>Procedure : </li></ul><ul><li>Open the LoadCache AE program in App Designer </li></ul><ul><li>Clone the LoadCache AE program and the AE PeopleCode </li></ul><ul><li>Modify the manager name array so each clone of the LoadCache program would only load the cache files for certain object types </li></ul><ul><li>Run these AE programs in parallel from the command line, or by using a Process Scheduler jobset. </li></ul>
  17. 17. LoadCache: Parallel Processing <ul><li>CONSIDERATIONS: </li></ul><ul><li>Available server resource </li></ul><ul><li>Modifications to LoadCache program are necessary </li></ul><ul><li>Implicitly generated cache files </li></ul><ul><li>Redundant files </li></ul><ul><li>Copying of cache files from multiple folders </li></ul>
  18. 18. LoadCache Summary <ul><li>Incremental load is least intrusive and could provide the biggest savings </li></ul><ul><li>Disabling unused languages would shorten LoadCache runtime </li></ul><ul><li>Parallelizing/splitting the LoadCache program offers a more flexible way of preloading cache files, but more preparation/maintenance is necessary </li></ul>
  19. 19. New in PeopleTools 8.48 <ul><li>PreloadFileCache and PreloadMemoryCache </li></ul><ul><li>Involves creating a project containing commonly used components and then referring to these projects in the the psappsrv.cfg </li></ul><ul><li>the parameters are commented out by default </li></ul>
  20. 20. PreloadFileCache / PreloadMemoryCache <ul><li>you can set the parameters to reference separate projects </li></ul><ul><li>these projects will be stored in the database, like any other Peoplesoft project. </li></ul><ul><li>the projects can be copied, exported etc. across databases and platforms. </li></ul>
  21. 21. Creating the Preload Projects <ul><li>First, select the components that you want to preload: PeopleTools > Utilities > Administration > Select Pre-load Components </li></ul>
  22. 22. Creating the Preload Projects <ul><li>Next, build the Preload Project: PeopleTools > Utilities > Administration > Create Pre-load Project </li></ul>
  23. 23. Creating the Preload Projects <ul><li>In general, it is recommended to create a large project for the PreloadFileCache setting and a small subset of components for the PreloadMemoryCache project. </li></ul><ul><li>The optimum selections for the projects will require tuning and testing at your site. </li></ul>
  24. 24. PreloadFileCache <ul><li>intended to be used for a new domain, where the file cache is not yet built </li></ul><ul><li>the domain starts a PSAPPSRV process, builds the file cache for the specified components and dependant records, and shuts down </li></ul>
  25. 25. PreloadFileCache <ul><li>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 preloaded cache file available at startup </li></ul>
  26. 26. PreloadFileCache <ul><li>if the cache files are already present, the appserver will do an incremental load to add/update definitions to the cache files </li></ul><ul><li>if PreloadFileCache is invoked and the ‘project name’ entry in psappsrv.cfg is empty, the appserver will exit indicating that the project is not found to preload the cache. </li></ul>
  27. 27. PreloadMemoryCache <ul><li>intended to be used during a server process recycle </li></ul><ul><li>since the preloading of memory cache could increase the boot up time for the server, this feature is disabled during the server boot up </li></ul>
  28. 28. PreloadMemoryCache <ul><li>when an appserver process recycles, it loads memory cache based on the project specified by the PreloadMemoryCache parameter </li></ul><ul><li>there is a timeout (or limit) of 60 seconds for PreloadMemoryCache - it preloads as many definitions as possible before the timeout </li></ul>
  29. 29. PreloadFileCache/PreloadMemoryCache FAQs <ul><li>1. How do I find out the component name where that am using? </li></ul><ul><li>A: From the browser window while you are in the PIA page in question, press Control+J to get the Component Name. </li></ul><ul><li>2. How do I get the list of all PeopleSoft Components? </li></ul><ul><li>A: The components were called panel groups in older PeopleTools. Use this SQL statements to get the list: </li></ul><ul><li>select * from PSPNLGRPDEFN </li></ul>
  30. 30. PreloadFileCache/PreloadMemoryCache FAQs <ul><li>3. Is there another way to get a list of critical components that I need? </li></ul><ul><li>A: If you use PeopleSoft Performance Monitor, use this SQL statement to get the list of components that end-user accesses. </li></ul><ul><li>select distinct PM_CONTEXT_VALUE1 </li></ul><ul><li>from PSPMTRANSHIST </li></ul><ul><li>where PM_TRANS_DEFN_ID in (401, 402, 403, 416) </li></ul><ul><li>and PM_AGENTID in </li></ul><ul><li>(select PM_AGENTID </li></ul><ul><li>from PSPMAGENT </li></ul><ul><li>where PM_SYSTEMID = <monitored_system_ID> </li></ul><ul><li>and PM_AGENT_TYPE = 'PSAPPSRV') </li></ul>

×