15 Tuning Oracle BPEL Process Manager
You can tune Oracle Business Process Execution Language (BPEL) Process Manager properties to optimize its performance at the composite, fabric, application, and server levels.
- About BPEL Process Manager
Oracle BPEL Process Manager offers a comprehensive and easy-to-use infrastructure for creating, deploying, and managing BPEL business processes. - Tuning BPEL Parameters
You can tune BPEL parameters for optimal performance. - Using Other Tuning Strategies
You can locate the Oracle BPEL Process Manager tables that are impacted by instance data growth and purge them for optimal performance.
Parent topic: SOA Suite Components
About BPEL Process Manager
Oracle BPEL Process Manager offers a comprehensive and easy-to-use infrastructure for creating, deploying, and managing BPEL business processes.
BPEL is the standard for assembling a set of discrete services into an end-to-end process flow, radically reducing the cost and complexity of process integration initiatives.
For an overview of Oracle BPEL Process Manager, see Oracle Business Process Execution Language (BPEL) Process Manager under Key Components in Understanding Oracle SOA Suite.
Parent topic: Tuning Oracle BPEL Process Manager
Tuning BPEL Parameters
You can tune BPEL parameters for optimal performance.
Tuning recommendations for BPEL parameters described here are likely or highly likely to improve performance. For descriptions of the other tuning parameters available for SOA Components, see the component-specific topics in this guide.
For detailed information on how to monitor, configure, and manage BPEL process service components and service engines, see Administering BPEL Process Service Components and Engines in Administering Oracle SOA Suite and Oracle Business Process Management Suite. Also see Using the BPEL Process Service Component in Developing SOA Applications with Oracle SOA Suite for how to use sensors to monitor select BPEL activities.
Tuning BPEL Engine
You can configure the performance tuning properties at the BPEL engine level by using the Enterprise Manager Fusion Middleware Control. For information on using Oracle Enterprise Manager Fusion Middleware Control to configure and monitor parameters, see Getting Started with Administering Oracle SOA Suite and Oracle BPM Suite and Accessing the System MBean Browser from the Component Property Pages in Administering Oracle SOA Suite and Oracle Business Process Management Suite.
Parent topic: Tuning BPEL Parameters
Tuning BPEL Engine Parameters
Table 15-1 lists the essential tuning parameter that you can adjust to improve performance for the BPEL engine.
Table 15-1 Essential BPEL Engine Tuning
Parameter | Problem | Tuning Recommendation | Trade-offs |
---|---|---|---|
Default: |
You are experiencing low performance because of frequent database inserts into the |
Use the Note that the |
This property sets the audit trail logging level for both durable and transient processes. If you turn this off, both business flow and payload tracking is disabled. You cannot view the state of BPEL processes in the Oracle Enterprise Manager Console. |
Table 15-2 describes additional BPEL engine parameters that can be tuned for small performance improvements. Note that for most use cases, the default value is the recommended value.
Table 15-2 Other BPEL Engine Tuning Knobs
Parameter | Description |
---|---|
Default: |
You can decrease this parameter's value to improve performance. The See How To Specify Transaction Timeout Values in Developing SOA Applications with Oracle SOA Suite for instructions on how to find this property in the System MBean Browser of Oracle Enterprise Manager Fusion Middleware Control. |
Default: |
You can decrease this parameter's value to improve performance. This property sets the maximum size (in kilobytes) of a BPEL variable before it is stored in a separate table from the rest of the instance scope data. It is applicable to both durable and transient processes. Large XML documents can slow down the performance if they are constantly used while processing an instance. See Configuring BPEL Process Service Engine Properties in Administering Oracle SOA Suite and Oracle Business Process Management Suite to see how to find and tune this parameter in the Enterprise Manager Fusion Middleware Control. |
Default: |
You should set this parameter to the default value of This property can make the Oracle BPEL Process Manager intercept nonschema-compliant payload data by validating incoming and outgoing XML documents. However, XML payload validation can slow performance. You can find this parameter in the System MBean Browser. See Configuring BPEL Process Service Engine Properties in Administering Oracle SOA Suite and Oracle Business Process Management Suite for information on how to find advanced BPEL properties by using the More BPEL Configuration Properties... button from the BPEL Service Engine Properties page in Enterprise Manager Fusion Middleware Control. |
Default: |
You can increase the instance key block size to a value greater than the number of updates to the The See Configuring BPEL Process Service Engine Properties in Administering Oracle SOA Suite and Oracle Business Process Management Suite to see how to find and tune this parameter by using the System MBean Browser in Enterprise Manager Fusion Middleware Control. |
Audit Level Threshold Default: |
You can decrease this parameter's value to improve performance. This property sets the maximum size (in kilobytes) of an audit trail details string before it is stored separately from the audit trail. Strings larger than the threshold setting are stored in the See Configuring BPEL Process Service Engine Properties in Administering Oracle SOA Suite and Oracle Business Process Management Suite to see how to find and tune this parameter in Enterprise Manager Fusion Middleware Control. |
Parent topic: Tuning BPEL Engine
Tuning BPEL in a Composite
You can tune BPEL properties for individual composites to improve performance. The BPEL properties set inside a composite affect the behavior of the component containing the BPEL process only. Each BPEL process can be created as a component of a composite.
BPEL composite properties can be modified in the composite.xml
file by using JDeveloper, or in the System MBean Browser of Oracle Enterprise Manager Fusion Middleware Control. For in-depth descriptions of each property's function, see Deployment Descriptor Properties in Developing SOA Applications with Oracle SOA Suite.
The BPEL tuning considerations listed in Table 15-3 may not be applicable to all BPEL deployments. Always consult your own use case scenarios to determine if these configurations should be used in your deployment. See How to Define Deployment Descriptor Properties in the Property Inspector in Developing SOA Applications with Oracle SOA Suite for information on how to find and edit the parameters listed below.
Table 15-3 Essential BPEL in a Composite Tuning
Parameter | Problem | Tuning Recommendation | Trade-offs |
---|---|---|---|
Default: |
Slow performance because resources are being used to persist delivery messages. |
Set value to By default, incoming requests are saved in the delivery service database table |
This setting has a high risk of losing messages or overloading the system. It also changes the threading model for adapter. |
Default: |
Slow performance because every activity is being audited. |
Audit only key activities. |
Lower level activities do not have an audit trail. |
Default: |
Slow performance because the |
Set value to |
No dehydration means that activities in the instance are lost if the system crashes. |
Table 15-4 describes additional BPEL parameters that can be tuned for small performance improvements, but in most cases, the default value is the recommended value. For in-depth descriptions of each property's function, see Properties for the partnerLinkBinding Deployment Descriptors in Developing SOA Applications with Oracle SOA Suite.
Table 15-4 Other BPEL in a Composite Tuning Knobs
Parameter | Description |
---|---|
Default: |
An idempotent activity is an activity that can be retried. Keeping this parameter's value as This parameter is configured in a partner link at runtime in BPEL. |
Default: |
This parameter is configured in a partner link at runtime in BPEL. |
Parent topic: Tuning BPEL Parameters
Using Other Tuning Strategies
You can locate the Oracle BPEL Process Manager tables that are impacted by instance data growth and purge them for optimal performance.
Parent topic: Tuning Oracle BPEL Process Manager
Identifying Tables Impacted By Instance Data Growth
Instance data occupies space in Oracle BPEL Process Manager schema tables. Data growth from auditing and dehydration can have a significant impact on database performance and throughput.
You can use Table 15-5 to locate tables that may be affected by instance data growth. See Monitoring Space Usage, Hardware Resources, and Database Performance in Administering Oracle SOA Suite and Oracle Business Process Management Suite for advice on how to monitor performance for the following database tables:
Table 15-5 Oracle BPEL Process Manager Tables Impacted by Instance Data Growth
Table Name | Table Description |
---|---|
|
Stores the audit trail for instances. The audit trail viewed in Oracle BPEL Control is created from an XML document. As an instance is processed, each activity writes events to the audit trail as XML. |
|
Stores audit details that can be logged through the API. Activities such as an assign activity logs the variables as audit details by default. Audit details are separated from the |
|
Stores process instance metadata (for example, the instance creation date, current state, title, and process identifier) |
|
Stores the scope data for an instance (for example, all variables declared in the BPEL flow and some internal objects that help route logic throughout the flow). |
|
Stores incoming (invocation) and callback messages upon receipt. This table only stores the metadata for a message (for example, current state, process identifier, and receive date). |
|
Stores delivery subscriptions for an instance. Whenever an instance expects a message from a partner (for example, the receive or onMessage activity) a subscription is written out for that specific receive activity. |
|
Stores cube instance references to the data stored in the |
|
Stores references to |
|
Stores tasks created for an instance. The TaskManager process keeps its current state in this table. |
|
Stores activities created by an instance. All activities in a BPEL flow have a |
|
Stores all large objects in the system (for example, |
|
Stores headers and properties information. |
When you have determined which tables are causing slow performance, you can purge them. See Understanding Growth Management Challenges and Testing Strategies in Administering Oracle SOA Suite and Oracle Business Process Management Suite for more information on managing database growth.
Parent topic: Using Other Tuning Strategies