This post shows some properties which we can be set inside our composite which impact the performance.
This property has the following values:
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.
Refernce: Oracle SOA Performance Tuning Guide
· 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:
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. |
Off
|
No instances of this process are saved.
|
<component name="BPELProcess">
<implementation.bpel
src="BPELProcess.bpel" />
<property
name="bpel.config.completionPersistPolicy">faulted</property>
<property
name="bpel.config.inMemoryOptimization">true</property>
...
</component>
·
auditLevel
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.
|
I have compiled an eBook on Oracle fusion middleware 11g - BPEL PM. I appreciate, if you may give your comments.
ReplyDelete1. Load & Performance Testing – http://goo.gl/x25pek
2. BPEL PM Introduction - http://goo.gl/gJAFn7
3. JVM Tuning - http://goo.gl/mzWKsb
4. Web Logic Server Tuning – http://goo.gl/A2DHmH
5. BPEL Engine Tuning - http://goo.gl/hTthVt
6. EM Fusion Middleware Control and WLS Admin Console – http://goo.gl/x5gm5e
Thanks for your feedback and encouragement.
Hi Tushar,
DeletePlease share a copy of these if you can to my email id (gargvivek2008@gmail.com). I will review it and provide my feedback.
Thanks
Vivek Garg