Improving the System Performance by Enabling Server Cache
With PeopleTools 8.4 and higher PeopleSoft delivered a great feature to improve the online performance, which is shared caching. This will eliminate the unnecessary caching and trips to the database.
Without enabling the shared cache, application server domain will create separate cache file for each process. With shared cache enabled all the user processes will share a common pool of cache, hence reduces no of trips to the database and the network traffic.
Each PeopleTools server process has 2 types of cache, one is memory cache and the other one is File cache. By default memory cache is always enabled and the file cache should be enabled by the system admin.
Let us discuss about the Shared File Cache here.
The LOADCACHE program will cache all of the PeopleTools object metadata into the cache file directory that you specify. When you run the LOADCACHE program it will load all the metadata in to the cache directory, so when the user opens a page it will loads much faster. By preloading the cache, users don’t have to wait for the system to cache an object if it’s the first time that the system accesses the object. Because the cache is preloaded with all the database objects, the system retrieves all of the required objects from the cache. This provides a significant improvement in first-time transactions and large transactions.
If you want to implement the shared cache option on the Peoplesoft application server you need to take consideration of the following items.
Run the load Cache program at least once in each instance of your PeopleSoft databases. If the PeopleTools objects change, the items that are in the shared cache will be marked invalid but will not be rewritten. This will include your customizations and any Upgrades.
When you run the Load Cache program first time it will take considerable amount of time. For me recently it took around 5 Hours.
Incase if you update PSSTATUS.LASTREFRESHDTTM, the system will mark all items in the cache as Invalid and you need to run the LOADCACHE program again.
How to run the LOADCACHE program ?.
1. Before you proceed make sure that your SYSAUDIT and DDDAUDIT reports are clean.
2. Open your psprcs.cfg file and set the EnableServerCaching Parameter (It could be 1 or 2. A value of 2 will cache all types of objects). This will decide the type of objects to be cached. The LOADCACHE Application Engine program will reads this setting and caches metadata according to the values specified in the Process Scheduler configuration file. (Note: Do not enable shared caching (ServerCacheMode = 1) for the process scheduler).
3. Go to PeopleTools - > Utilities -> Administration -> Load Application Server Cache
4. Enter the output Directory where the Cache will be stored. (Note: make sure this path matched with the path specified in Application Server Configuration).
5. Click the Run button and select the Run location as server. (This process will take around 4 to 5 Hours if it is running first time).
6. Go to Process Monitor and verify that the process is success.
7. If the Process Status is SUCCESS then Shutdown the application server.
8. Open PSAPPSRV.CFG file and search for ServerCacheMode parameter and set to 1(ex: ServerCacheMode = 1). Also make sure that the “Default CacheBaseDir” parameter is pointed to the right directory (this should match with the directory you specified in the LOADCACHE page).
9. Reboot the Application Server.