19 Tuning Oracle Business Process Management
You can tune Oracle Business Process Management to optimize its performance in providing a seamless integration of all stages of the application development life cycle from design-time and implementation to runtime and application management.
- About Oracle Business Process Management
The Oracle Business Process Management Suite provides an integrated environment for developing, administering, and using business applications centered around business processes. - Tuning Business Process Management Parameters
You can tune BPM performance parameters in the Enterprise manager, through the SOA Administration in BPMN properties. - Using Other Tuning Strategies
You can consider using the following strategies to further improve performance.
Parent topic: SOA Suite Components
About Oracle Business Process Management
The Oracle Business Process Management Suite provides an integrated environment for developing, administering, and using business applications centered around business processes.
Oracle Business Process Management is layered on the Oracle SOA Suite and shares many of the same product components, including Business Rules, Human Workflow, and Oracle Adapter Framework for Integration.
See,Oracle Fusion Middleware User's Guide for Oracle Business Process Management.
For more details on tuning Oracle Business Process Management with your other Oracle Fusion Middleware components, see .
Parent topic: Tuning Oracle Business Process Management
Tuning Business Process Management Parameters
You can tune BPM performance parameters in the Enterprise manager, through the SOA Administration in BPMN properties.
To tune the performance of the Oracle Business Process Management engine, you can reduce resource demands to reduce latency.
To reduce resource demands, you can tune the parameters listed in Table 19-1:
Table 19-1 Essential Business Process Management Tuning to Reduce Resource Demands
Parameter | Problem | Tuning Recommendation | Trade-offs |
---|---|---|---|
Default: |
Instances are being processed slowly because you are storing large BPMN Data objects. |
Decrease the maximum size (in kilobytes) of this parameter to limit the size of BPMN Data Objects. If they surpass this limit, they are stored in a separate location from the rest of the instance scope data. This property is applicable to both durable and transient processes. |
The overflow data is stored in an external append-only table. This adds to overall database size and can increase the overall workload when loading instances from the database. |
Default: |
You are seeing frequent database inserts into the |
Reduce or disable audit. You can switch to any of the following settings:
You can also consider expanding the size of the |
You lose granular error reporting that you could use to diagnose problems later. Always choose the audit level according to your business requirements and use cases. For more information on how to use audit trails for monitoring, see Monitoring BPMN Process Service Components and Engines in Administering Oracle SOA Suite and Oracle Business Process Management Suite. |
You can also try to purge completed instances as allowed by business requirements and add indexes for any flex fields.
Parent topic: Tuning Oracle Business Process Management
Using Other Tuning Strategies
You can consider using the following strategies to further improve performance.
Parent topic: Tuning Oracle Business Process Management
Tuning Oracle Workspace Applications
Database performance and session state management are the primary drivers for performance. Effective database tuning and configuration of HTTP session timeout are important.
Application design is the next largest factor, especially if there are additional data controls used to render contextual data on task forms. In these cases, it is important to optimize data access from those data controls and when possible defer retrieving additional data unless it is needed. For more details on tuning ADF, see Oracle ADF Faces Configuration and Profiling.
The following parameters can be changed in the web.xml
descriptor in the OracleBPMWorkspace
web application. Once they have been modified, you may have to redeploy.
Table 19-2 Workspace and Worklist Application Tuning
Parameter | Problem | Tuning Recommendation | Trade-offs |
---|---|---|---|
Default: |
Memory is being allocated for users who may no longer be actively using the system. |
To better manage resource usage, decrease the session timeout value, in minutes, to the smallest value that preserves the expected user experience. This allows the system to reclaim any resources that are associated with unused sessions as soon as possible. This parameter is edited in the in the <session-config>
<session-timeout>
5
</session-timeout>
</session-config> |
A short timeout value may mean users have to login more often if they let the time expire. They also may potentially lose session data. |
Default: |
The default value may consume too much memory. |
Decrease the value to 3 to minimize the memory footprint. Through this setting, you can control the number of pages users can navigate by using the browser Back button without losing information. To reduce CPU and memory usage, you can decrease the value in the The following is a sample snippet of the <context-param>
<param-name>
org.apache.myfaces.trinidad.CLIENT_STATE_MAX_TOKENS
</param-name>
<param-value>
3
</param-value>
</context-param> |
If the user clicks the Back button more than 3 times, there is no session data stored for that page. If the value is too small, users get an error when they click the Back button. |
Default: |
Slow performance on slower or higher latency networks. |
Set this value to True to enable zipping. By default, this value is set to True. This setting controls whether the page state is compressed. Zipping greatly reduces the memory being taken up by page state in the session object. The following is a snippet of the <param-name>org.apache.myfaces.trinidad.COMPRESS_VIEW_STATE</param-name>
<param-value>true</param-value> |
There is an additional CPU cost to zipping and unzipping the view state. |
Default: |
Slow initial load of pages. |
In production environments, make sure you remove the The following is a snippet of the <param-name>org.apache.myfaces.trinidad.DISABLE_CONTENT_COMPRESSION</param-name>
<param-value>false</param-value> |
None. |
Parent topic: Using Other Tuning Strategies
Tuning Process Measurement
Process Analytics uses measurement events to sample the process and publish measurements to registered consumers. In 12c (12.2.1.3.0), these measurements can be enabled by setting the DisableAnalytics
parameter to False
in the BPM Enterprise Manager's Analytics Configuration MBean.
The two supported consumers for measurements in 12c are BAM 11g Monitor Express and BAM 12c Process Metrics. They can be enabled or disabled by using the DisableProcessMetrics
and DisableMonitorExpress
attributes of the AnalyticsConfig
mbean.
Note:
Only data that is useful should be published. The process design specifies what data (dimensions, measure, and counters) should be published and at what points. If data is being generated that is not useful, then it could be adding unnecessary load to the system.
Measurement events are published on the JMS Topic: MeasurementTopic, and consumed by registered Action MDBs. To tune JMS for Measurements, consider changing the parameters listed in Table 19-3, as needed, in a high volume environment:
Table 19-3 Essential JMS Resource Tuning for BPM
JMS Resource | Problem | Tuning Recommendation | Trade-offs |
---|---|---|---|
Default: |
A distributed measurement topic in a cluster installation is configured by default with |
Change the Forwarding Policy for this parameter to This parameter can be altered in the WebLogic console. You can find it from the front page with the following options: JMS Modules -> BPMJMSModule -> dist_MeasurementTopic_auto. You need to restart all SOA BPM cluster nodes for the changes to take effect. |
A distributed topic with a For more information on distributed topics versus other topic types, see Supported Topic Types in Developing Message-Driven Beans for Oracle WebLogic Server. For more information on partitioned and replicated forwarding policies, see Configuring Partitioned Distributed Topics in Administering JMS Resources for Oracle WebLogic Server. |
Default: |
You have a high volume environment and you are receiving frequent resource allocation exceptions from message producers. For more information, see Defining a Send Timeout on Connection Factories in Tuning Performance of Oracle WebLogic Server. |
Increase the Send Timeout for this parameter to The numerical value represents the maximum length of time in milliseconds. This parameter can be altered in the WebLogic console. You can find it from the front page with the following options: JMS Modules -> BPMJMSModule --> MeasurementTopicConnectioNFactory --> Default Delivery. |
You may create a message backlog that consumes memory and resources. |
Defaults: |
Measurement messages cannot be published and fails with j |
Set the Message Maximum and Bytes Maximum for this parameter equal to the amount of system memory available after you have accounted for the rest of your application load. The |
Increasing this value consumes more memory. Message delivery may still fail if the aggregate size of messages pushed to the consumer is larger than the current protocol's maximum message size. For more information about measurement quotas, see Tuning for Large Messages in Tuning Performance of Oracle WebLogic Server. |
Default: |
The JMS server is frequently writing message bodies to disk. |
Increase the Message Buffer Size for a given Note that the This parameter can be altered in the WebLogic console. You can find it from the front page with the following options: JMS Servers_auto_number. |
The JMS server uses more memory. |
Parent topic: Using Other Tuning Strategies