Oracle Business Process Execution Language (BPEL) Process Manager provides several property settings that can be configured to optimize performance at the composite, fabric, application and server levels. This chapter describes these property settings and provides recommendations on how to use them.
This chapter contains the following sections:
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.
This section includes tuning recommendations for BPEL parameters that are likely or highly likely to improve performance. For descriptions of the other tuning parameters available for SOA Components, see the component-specific chapters 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 the chapters listed in "Administering BPEL Process Service Components and Engines" of Administering Oracle SOA Suite and Oracle Business Process Management Suite. Also see "Using the BPEL Process Service Component" in the Developing SOA Applications with Oracle SOA Suite for how to use sensors to monitor select BPEL activities.
This section describes the performance tuning properties at the BPEL engine level. They can be configured 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: 45 seconds. |
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: 10000 (100 kilobytes) |
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: 10000 keys |
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: 10000 |
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. |
This section lists some BPEL properties that can be tuned 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" of 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. |
Audit Policy Default: All activities |
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" of 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 the previous section, 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.