IBM Support

Database Planning, Performance Tuning and Maintenance for Business Process Choreographer

Question & Answer


Question

What steps can I take to ensure an optimally running Business Process Choreographer environment?

Answer


The database for the Business Process Choreographer (BPEDB), like any application database, requires study and tuning to effectively run Business Process Execution Language (BPEL) transactions for long-running processes in a WebSphere Process Server environment. The Business Process Choreographer engine generates SQL statements based on custom-designed BPEL applications to support a broad range of functionality.

Consider the following items to optimize the Business Process Choreographer database, in order to maximize a Business Process Choreographer environment:

Note: The Information Center links below are for version 7.0, but most of the content is applicable for all versions. Since some new features are added in the newer versions, you may want to look at the same sections from the Information Center for the version of WebSphere Process Server that you are running.

General Best Practices
The following articles contain information regarding the BPEDB, but also contain general performance information regarding WebSphere Process Server. These should be reviewed and understood prior to moving on with other material.


Design Considerations
Given that the Business Process Choreographer is transactional, managing transactions and overall data size is extremely critical for ongoing system performance in live production. The following are a few key areas.
  • Transaction bracket size

  • Long-running BPELs run as a series of transactions that are controlled by activity properties (such as Requires Own and Participates) within WebSphere Integration Developer. Shorter transaction boundaries are recommended in terms of system performance. The transaction bracket size should be a careful consideration of any BPEL design.

    For further information see the Information Center.
  • Work items and variable sizes

  • Two common areas that can affect performance are work item tables and very large variables.
    • Predefined people assignment criteria
      This link discusses group work items for very large groups. Work items are created for each human task based on the people assignment criteria (People Directory verbs). The "Group" verb listed here uses WebSphere Application Server authentication credentials (which include a group name) to authorize users based on their group. As the group name is stored, this is a 1-1 mapping for human tasks and work items. Other group verbs create a separate work item for each user within the group, a 1-N mapping (100 users == 100 work items). These 1-N People Directory verbs should be avoided if they are not needed. This has an impact on system performance over time and should be considered at design time.
    • Variables are also persisted in the database, and the size of the variables should be considered. Avoid using variables over 1MB, because of the storage concerns with growing system tables over time as well as the performance overhead with serialization and de-serialization in the system.
  • Understanding of the implications and differences of Query() and QueryAll():
    Business Process Choreographer query() and queryAll() - How to access processes, tasks and work items through the API and JDBC.

Database setup- Initial settings and configuration
  • Custom indexes

  • As mentioned, the BPEDB supports a wide range of BPEL applications. Supplying an appropriate index that is correct for each application is not possible. Indexes are provided and created when the BPEDB is generated. You should, however, use performance tools, which vary depending on the database type, to ensure that the indexes used are optimal for the access plan being utilized.
  • Tablespace


  • Business Process Choreographer is transactional in nature and makes use of the BPEDB to persist the state of long-running BPELs. Thus, ensuring optimal tablespace settings is critical for system performance. For more information, see "Planning the BPC database", "Initial database settings" and the "Operating a WebSphere Process Server environment" articles above.

    Multiple disks are recommended for the BPEDB tablespace.
  • Run the system at the expected load and with expected overall volume. Use the vendor specific database performance tooling to ensure that database settings are optimal. For instance, DB2 has the DB2 Configuration Advisor, and Oracle has the Oracle Advisory Tools.

  • Review the documentation regarding initial database settings:
Production database maintenance
  • Maintain appropriate database size

    The overall size of the BPEDB has a dramatic impact on performance over time. Consider how the database will perform at the size expected when the database is in production. In addition, over time, take steps to ensure the database does not grow indefinitely.


  • There are varying methods for ensuring a consistent database size. They are discussed in this section of the Information Center:
    Cleanup procedures for Business Process Choreographer

    This is a business decision as well as a technical one. The choice to keep long-running instance data and the amount of time they might be needed will vary for each environment.
  • Reorg/Updated statistics

  • Optimal database performance can be achieved only if the database statistics are up to date. Each customer environment will vary depending on size, load, and usage scenarios; however, these must be done at regular intervals.

[{"Product":{"code":"SSQH9M","label":"WebSphere Process Server"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Business Process Choreographer","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF012","label":"IBM i"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"},{"code":"PF035","label":"z\/OS"}],"Version":"7.0;6.2;6.1.2;6.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
15 June 2018

UID

swg21419235