Configuring managed asset and managed asset classloader cache sizes

Set configuration parameters in the 100custom.xml file to define cache sizes for managed files.

About this task

Depending on the number IBM BPM managed files and the number of process applications that use managed files, you might experience slow performance when you work with IBM BPM managed files. If the managed asset class loader cache, managed asset cache, or both caches are small, the cache must be refreshed often, which decreases performance.

Set the following configuration parameters to define the cache sizes for managed files:
-classloader-cache-size
There is one classloader instance for each version of a process application. To prevent classloader instances from being swapped out of the cache frequently, set the classloader-cache-size parameter to a value that is higher than the number of active process application versions on your system. For example, if you have n process applications and each process application has m active snapshots, set the classloader-cache-size parameter to (n*m).
-classloader-resource-map-size
The classloader-resource-map-size parameter defines the number of Java classes that are inside managed files and cached over all process applications and versions. When you use huge .jar files as managed assets, increase the classloader-resource-map-size parameter. Because classloader-resource-map-size is a JVM-wide parameter, the parameter number should be high enough to cache all managed assets that are used on the JVM.
For example, if you have three jar files as managed assets
  • file1.jar containing 50 class files
  • file2.jar containing 70 class files
  • file3.jar containing 100 class files
the cache must be 50 + 70 + 100 + reserve = 220 + reserve. Therefore, you use 10–20 % of the total number as a reserve.

Procedure

To configure the cache size for managed files, complete the following steps:

  1. Stop your development environment and the deployment manager.
  2. Locate the 00Static.xml file in your network development environment by opening the original configuration file. The file might be located in the following directory: PROFILE_HOME\config\cells\cell_name\nodes\node_name\servers\server_name\process-server\config\system\.
  3. Open the file in a text editor, find the following property, and copy it: <classloader-cache-size>"current value"</classloader-cache-size> classloader-resource-map-size> "current value" </classloader-resource-map-size>
  4. Locate the 100custom.xml file in your network deployment environment. The 100Custom.xml file is under each cluster member in your deployment manager profile under the PROFILE_ROOT\config\cells\cell_name\nodes\custom_node_name\servers\cluster_member_name\server_type\config\ path.
  5. Open each 100Custom.xml file and locate the last instance of </server> in the file.
  6. Just above the last instance of </server>, replace the code with the code you copied in step 3.
  7. Save the file. The new code should look like the following example:
    <server merge="mergeChildren">
    <classloader-cache-size merge="replace">"new value"</classloader-cache-size>
    <classloader-resource-map-size merge="replace>"new value"</classloader-resource-map-size>
    </server>
  8. Restart your deployment manager and cluster.
  9. Select Full Resynchronize to replicate the settings from the deployment manager server to the individual nodes.

    For more information about the 100custom.xml file, see the The 99Local.xml and 100Custom.xml configuration files topic in the product documentation.