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. Oracle BPEL Process Manager offers a comprehensive and easy-to-use infrastructure for creating, deploying and managing BPEL business processes.
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.
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 and Administering Oracle SOA Suite and Oracle Business Process Management Suite.
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.
You can configure the performance tuning properties at the BPEL engine level 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.
Table 12-1 lists the essential tuning parameter you can adjust to improve performance for the BPEL engine.
Table 12-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 will not be able to view the state of BPEL processes in the Oracle Enterprise Manager Console. |
Table 12-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 12-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 performance if they are constantly read in and written out whenever processing on an instance must be performed. 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 how to find advanced BPEL properties 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 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. |
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 composite.xml
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 12-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 how to find and edit the parameters listed below.
Table 12-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 will also change the threading model for adapter. |
Default: |
Slow performance because every activity is being audited. |
Audit only key activities. |
Lower level activities will not have an audit trail. |
Default: |
Slow performance because the |
Set value to |
No dehydration means that activities in the instance will be lost if the system crashes. |
Table 12-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 12-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. |
Once you have tuned the parameters listed in Tuning BPEL in a Composite, you can consider using the following strategies to further improve performance.
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 12-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 on the following database tables:
Table 12-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 log 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 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.