This post shows some properties which we can be set inside our composite which impact the performance.

·inMemoryOptimization

This property indicates to Oracle BPEL Server that
this process is a transient process and dehydration of the instance is not
required. When set to True, the completionPersistPolicy is used to determine
persistence behavior. This property can only be set to True for transient
processes or processes that do not contain any dehydration points such as
receive, wait, onMessage and onAlarm activities. The inMemoryOptimization
property is set at the BPEL component level. When set to True, dehydration is
disabled which can improve performance in some use cases.
Values:

This property has the following values:

False (default): instances are persisted
completely and recorded in the dehydration store database.

True: The completionPersist policy is used to
determine persistence behavior.

·completionPersistPolicy

This property configures how the instance data is
saved. It can only be set at the BPEL component level. The
completionPersistPolicy property can only be used when inMemoryOptimization is
set to be True (transient processes). Note that this parameter may affect
database growth and throughput (due to reduced I/O).

Value

Description

On (default)

The completed instance is saved normally.

Deferred

The completed instance is saved, but with a
different thread and in another transaction.

Faulted

Only the faulted instances are saved.
Note: When an unhandled fault occurs, regardless of these flags, audit
information of the instance is persisted within cube_instance table.

You can set the audit level for a BPEL process
service component. This setting takes precedence over audit level settings at
the SOA Infrastructure, service engine, and SOA composite application levels.

Set the bpel.config.auditLevel property to an
appropriate value in the composite.xml file of your SOA project as shown in the
example below:

<component name="BPELProcess">

<implementation.bpel
src="BPELProcess.bpel" />

<property
name="bpel.config.auditLevel">Off</property>

</component>

Value

Description

Inherit

Inherits the audit level from infrastructure
level.

Off

No audit events (activity execution information)
are persisted and no logging is performed; this can result in a slight
performance boost for processing instances.

Minimal

All events are logged; however, no audit details
(variable content) are logged.

Error

Logs only serious problems that require
immediate attention from the administrator and are not caused by a bug in the
product. Using this level can help performance.

Production

All events are logged. The audit details for
assign activities are not logged; the details for all other activities are
logged.

Development

All events are logged; all audit details for all
activities are logged.

·bpel.config.oneWayDeliveryPolicy

The oneWayDeliveryPolicy property controls
database persistence of messages entering Oracle BPEL Server. By default,
incoming requests are saved in the delivery service database table dlv_message.
These requests are later acquired by Oracle BPEL Server worker threads and
delivered to the targeted BPEL process. This property persist delivery messages
and is applicable to durable processes.

When setting the oneWayDeliveryPolicy property to async.cache, One-way
invocation messages are stored in the delivery cache until delivered and if the
rate at which one-way messages arrive is much higher than the rate at which
Oracle BPEL Server delivers them, or if the server fails, messages may be lost.
In addition, the system can become overloaded (messages become backlogged in
the scheduled queue) and you may receive out-of-memory errors. Consult your own
use case scenarios to determine if this setting is appropriate.

Value

Description

async.persist (Default)

Delivery messages are persisted in the database.
With this setting, reliability is obtained with some performance impact on
the database. In some cases, overall system performance can be impacted.

async.cache

Incoming delivery messages are kept only in the
in-memory cache. If performance is preferred over reliability, this setting
should be considered.

sync

Directs Oracle BPEL Server to bypass the
scheduling of messages in the invoke queue, and invokes the BPEL instance
synchronously. In some cases this setting can improve database performance.

About Me

Disclaimer

This blog is solely owned by me and it does not represent any company or customer work. This blog is result of the POC's which I keep on doing during my spare time. Please feel free to reach out to me in case you have any concern regarding material in this blog.