Strategies for enabling reference data caching

You can review the considerations for enabling reference data caching.

The following are some suggestions to consider if you decide to cache some or all of the reference tables:

  • Cache tables that have very low write or update activities. When a record is changed, the local cache manager has to notify the other active cache manager to flush that table.
  • Monitor the frequency at which the cache tables are flushed:
    • If a table is being flushed frequently because the records are being changed, you may want to consider not caching these tables. For example, your process may involve updating records in that table en mass. If that is the case, the cost of the large number of cache flush notifications could out weigh the benefits of caching that table.
    • If a table is being flushed frequently because the number of OBJECTS is hitting the cache limit, you should study the number of records cached and the cache hit ratio. You may, for example, not want to cache the table if the table has a very large number of cacheable records (e.g., during the day, transactions will range through all the records) and the potential cache hit ratio is low. Conversely, you may want to increase the OBJECTS limit if the potential cacheable records is just slightly over the limit.
  • Cache queries that are expensive.
  • Monitor heap garbage collection to make sure that the garbage collection overhead is not significant. We recommend you keep the garbage collection overheads (which we define as the amount of time spent in garbage collection over an interval) to less than 3%.
    Note: To monitor the health of the JVM heap garbage collections, you can analyze VerboseGC logs. Whenever application servers are started, the VerboseGC logs are automatically collected, if the Enable VerboseGC property is set to true in the configuration for the environment in the IBM UrbanCode Deploy Selfserv tool. For more information about exporting application logs, see Exporting application logs. However, when you run the agent and integration servers, you can select the Enable verboseGC output to collect the verboseGC logs. The exported logs are copied to the /home/<tenant_code>/logs/<env_name>/oms_logs directory of the drop server. You can analyze it to get additional details for GC and memory usage.