http://blogs.dootdoot.com/mike

If you run a PeopleSoft application on the 8.4x or above toolset and want a quick and easy way to increase performance by eliminating extra database queries and unnecessary caching, then the following performance tip is for you!

As delivered, the application server cache works by an Application Server Domain using separate cache files for each process. This means, that even if one of your users opens a particular page in your application and caches the page, the next user may have to cache it all over again and this will result in additional trips to the database.

Fortunately, you can set the various psappsrv processes in a particular application server domain so that they all use a single set of cache files, rather than separate cache files for each process. In addition, if you want to speed things up even further, you can even pre-build your cache so it’s already done for when your users access the system.

To do this, Oracle PeopleSoft provides a convenient little Application Engine program called LOADCACHE. This program will generate and pre-load this “shared cache.” Ultimately, this will save you disk space, network activity and greatly speed up the performance of your system.

Prior to running the LOADCACHE program, you will want to confirm the following:

  1. Confirm that SYSAUDIT and DDDAUDIT run cleanly.
  2. Confirm that your User ID has the “Load Application Server Cache” Role.
  3. Check your psappsrv.cfg fileand make sure EnableServerCaching is set to 2.

Note 1: If your user is a copy of VP1 or PS, you will not need to make any changes to your user profile.

Note 2: The LOADCACHE program reads the EnableServerCaching setting and caches metadata according to the value specified in the Process Scheduler configuration. See the notes in psappsrv.cfg for more details.

Next, to run the LOADCACHE program, perform the following steps:

  1. Navigate to PeopleTools –> Utilities –> Administration –> Load Application Server Cache.
  2. Enter the output directory where the CACHE will be stored.
  3. Click the Run button, and select the Process Scheduler for your configuration (PSNT).

Note 3: Typically, c:\temp\ is fine for the Output Directory. The system will generally disregard your input anyway and will default to the correct location (%PS_CFG_HOME%\appserv\prcs\domain\CACHE\CACHE).

Next, you may want to grab a cup of coffee. Depending on your system, the process can take anywhere from 2 to 20 hours to run the LOADCACHE program.

You can check on the status of the process through Process Monitor. Once the process has completed and shows a status of SUCCESS, you will need to perform the following steps:

  1. Shutdown the Application Server.
  2. Open psappsrv.cfg in your favorite text editor.
  3. Search for ServerCacheMode, and set this to 1 (SeverCacheMode=1).
  4. Save and close psappsrv.cfg.
  5. Navigate to %PS_CFG_HOME%\appserv\domain\CACHE\
  6. Create a share directory.
  7. Copy the contents of %PS_HOME%\appserv\prcs\domain\CACHE\CACHE\stage to the new share directory.
  8. Start the Application Server.

That’s it. All of your objects should be pre-cached. You should make sure to re-run the loac cache program at least once for each PeopleSoft instance that you have. If the PeopleTools objects change, the items that are in the shared cache will be marked invalid, but will not be re-written. This will include your customizations and any upgrades. So make sure to re-run the LOADCACHE program any time you make any changes or upgrades.

Comments

4 Responses to “Improving PeopleSoft Performance – LOADCACHE”

  1. Tracy Posner on March 24th, 2011 1:23 pm

    EnableServerCaching is in the psappsrv.cfg file not the psprcs.cfg file.

  2. mike on March 25th, 2011 4:43 pm

    Good catch, Tracy. I actually had it as psappsrv.cfg for most of the references too, so I’m not sure why I typed psprcs.cfg in the middle… I must have gotten ahead of myself.

    I’ve updated the reference, thanks!

  3. Jay on November 12th, 2014 6:04 pm

    Can this be automated. I mean is there a way to run this from the command prompt

  4. mike on November 13th, 2014 11:11 pm

    @Jay: Yes, but it’ll depend on what version you are running.

    The LOADCACHE is just an App Engine program, so you should be able to call it via psae with the appropriate parameters.

    In the newer PeopleTools 8.53.x, I believe you can do this directly from the Application Server (option 9, Preload Cache)

    This also means you can very easily run this from the command line by calling psadmin:

    psadmin -c preload -d

    Ex: psadmin -c preload -d hr91pr

Leave a Reply