Tuning case management

Draft comment:
This topic only applies to BAW, and is located in the BAW repository. Last updated on 2025-03-13 12:15
Reviewing the case management tuning information can help you improve and maintain the performance of the case management features.

About this task

During redeployment of a solution, some system configuration information might be overwritten and might need to be specified again. However, most configuration steps do not need to be repeated.

For JVM troubleshooting information, see Best practices for JVM memory issuesBest practices for JVM memory issues External link opens a new window or tab.

Tuning transmission protocols

Adjusting the following transmission protocols can improve Business Automation Workflow performance.

About this task

  • IBM® Content Cortex Content Platform Engine - If secured transmissions (such as FIPS) are not required, using the default IIOP protocol with IBM Content Cortex Content Platform Engine HTTP Tunneling increases both CPU usage and response time.
  • TCP/IP buffer size - Consider increasing the system TCP/IP buffer size from the default value. For example, on AIX® use no -o tcp_sendspace=524176 and no -o tcp_recvspace=524176 to set the buffer size to 512 KB.
  • HTTP server - If an HTTP server is used as a load balancer for an application server cluster, increase the number of threads (or processes) accordingly for a high concurrency workload.

Tuning the object request broker (ORB)

Under moderate workloads, the default object request broker (ORB) settings work well..

About this task

Adjusting the following property values can improve performance during heavy workloads.

  • com.ibm.CORBA.ConnectionMultiplicity - Consider increasing the com.ibm.CORBA.ConnectionMultiplicity property value from its default setting of 1 to a value from 5 to 10.
  • com.ibm.CORBA.FragmentSize - Consider setting the com.ibm.CORBA.FragmentSize property value to 0. Increase this value as needed.
  • Web container thread pool - Monitor the web container thread pool and increase its size accordingly.

Indexing Content Platform Engine databases to improve Business Automation Workflow performance

Depending on your solution and workload, you may find it beneficial to add indexes to the target object store database to improve the Business Automation Workflow performance. See the following examples of such indexes and the circumstances when they may be helpful.

About this task

i1 on container (creator, parent_container_id)
This index is for the advanced search on the Creator field. Create additional indexes depending on the fields that are used in the advanced search.
i2 on container (u<xy>_CMACMCASEIDENTIFIER,OBJECT__ID, object_class_id, home_id, ud956_cmacmcasestate, parent_container_id)
This index is for the basic search on the Case Identifier field. Create additional indexes depending on the fields used in the basic search.
i3 on event (u<xy>_CMACMCASEFOLDER, AUDIT_SEQUENCE desc)
This database retrieval index efficiently retrieves the case history in the Event table in target object stores. See Configuring production target object store indexes for details.
i4 on docversion (u<xy>_DOCUMENTTITLE)
Add this index to avoid performance issues due to a table scan while searching documents under cases.
I_CLID_PRE_OID on container (OBJECT_CLASS_ID, UF978_CMACMSOLUTIONPREFIX, object_id)
Add this index to avoid performance issues related to opening a case.

Setting the log size for Oracle case history databases

You might see a very high disk write queue length when using an Oracle database for case history. You can increase each redo.log file size to improve the disk write queue length.

Procedure

To increase the redo.log file size:

  1. If the redo log group associated with the log file has a status of CURRENT, you need to first switch it with another group:
    alter system switch logfile;
  2. Deactivate the redo log group you want to drop:
    alter system checkpoint;
  3. Drop the redo log group from the database.
    alter database drop logfile group group_number
    Restriction: If you only have two redo log groups active on the Oracle database, you cannot drop the group, since Oracle databases require a minimum of two active redo log groups at all times. If this is the case, create a third temporary redo log group before dropping either of the other two groups. For example:
    alter database add logfile group 3 '/app01/oratest/oradata/BOTI/BOTI/redo03.log' size 100M;
  4. Delete the redo.log file associated with the redo log group you just dropped.
  5. Add the group back to the database with a larger specified size.
    For example, if you want to create the redo log group with a size of 100 MB:
    alter database add logfile group 2 '/app01/oratest/oradata/BOTI/BOTI/redo02.log' size 100M;
    Repeat for all other redo log groups, making sure to make them inactive before dropping them.
  6. Activate the last redo log group that you added:
    alter system switch logfile;
    Remember: If you originally had two redo log groups and you created a third temporary group to be able to drop the other two, you can delete this third group now.

Tuning the in-basket property synchronization settings

When a property value is updated in a case, the change is synchronized in all views of the case. You might experience performance issues if all property updates are set to synchronize automatically. To improve performance, you can disable the automatic synchronization for certain properties.

About this task

When you tune the property synchronization settings for performance reasons, choose properties that are not frequently updated.

At design time, you use Process Designer to save the event update settings as part of the solution. For solutions that are already deployed, you use Process Configuration Console to change the settings.

Procedure

To tune property synchronization settings:

  1. Start the Process Configuration Console:
    1. Expand Object Stores.
    2. Expand your target object store.
    3. Select Workflow System.
    4. From the Actions menu, click Configure Workflow Settings.
  2. Expand the tree view for the Connection Point that is associated with the solution that you are updating.
  3. Right click the work queue that you are editing, and select Queue Properties.
  4. On the Data Fields tab, clear the checkbox in the Event Update column for all properties that you want to disable synchronization for.
  5. Commit your changes.

Tuning the maximum pool size for business rules

You may want to adjust the maximum pool size for business rules, depending on how many rules can be run in parallel by Content Platform Engine. You can tune the maximum pool size using the -DrulesMaxPoolSize parameter in the WebSphere Application Server profile for Content Platform Engine.

About this task

The default value for the -DrulesMaxPoolSize parameter is 100. The minimum value for the maximum pool size should not be less than the maximum number of rules that can be run in parallel in your system. For example, consider a system in which the Content Platform Engine has one target object store with two solutions with one case type in each solution. Assume that only one rule can be run at a time in any case. In this situation, if you have 20 users that can be working with each solution, then there will be a maximum of 40 rules that can be run concurrently. In this example, the maximum pool size should not be set to a value smaller than 40. However, consider that when setting a value for the parameter that is too high could result in an adverse memory impact on the Content Platform Engine Java™ Virtual Machine.

Procedure

To change the maximum pool size parameter value:

  1. Add the following argument to the WebSphere Application Server profile for Content Platform Engine:
    -DrulesMaxPoolSize=NNN
    where NNN is the new value for the parameter.
  2. Restart Content Platform Engine.