One of the important
performance tuning parameter is setting up the correct audit level at soa
infrastructure level, service engine (BPEL, BPMN, Mediator, etc) composite and
component level
Now
important questions is when we should change the audit level??
When your
composite is accepting and processing huge payload, then production level can
also be CPU heavy and processing time can be huge.
For eg:
When I have a service which needs to accept a file content in form of byte
array (base64) and write it into a directory, the bpel engine could be CPU
heavy even when audit level is production.
In that case, I can switch to audit level to minimal and can write custom code to do some audit trail and reduce
lot of processing time
To know
more on audit level and how to set it, you can continue reading the blog
.
Precedence
of the audit level properties as per Oracle:
Component
|
Composite
|
Service Engine
|
SOA Infrastructure
|
Which Setting Takes Precedence?
|
No property
|
Off
|
Production
|
Development
|
Composite.
The audit level is set to Off. The service
engine and SOA Infrastructure audit levels do not take effect.
|
No property
|
Inherit
|
Development
|
Production
|
Service engine.
The audit level is set to Development. The
payload is shown in the assign activity. The SOA Infrastructure audit level
does not take effect.
|
No property
|
Inherit
|
Inherit
|
Production
|
SOA Infrastructure.
The audit level is set to Production.
|
No property
|
Inherit
|
Production/
Development/
Off/Inherit
|
Off
|
The overall audit is not shown.
The composite inherits the audit level from the SOA
Infrastructure. The payload is shown in the assign activity based on the
service engine audit level setting.
|
Development
|
Off
|
Production
|
Development
|
Composite.
Since the composite audit level is set to Off,
the overall audit is not shown. The service engine audit level is shown, but
the Development setting for the component takes precedence.
The payload is shown in the assign activity based on the
component audit level setting of Development.
|
Inherit
|
Off
|
Production
|
Development
|
Composite.
Since the composite audit level is set to Off,
the overall audit is not shown. The service engine audit level is not shown
because Off is inherited from the composite.
|
Setting up
Audit level at the infrastructure level:
Usually we configure
the audit level at the soa infrastructure level and rest of the components will
always have default values as inherited
(Note: If
nothing is mentioned at composite level, it will inherit audit level properties
from infrastructure)
To check
and change audit level at infrastrucuture level go to soa-infra -> Common
Properties -> Audit Level
Possible
values and their explanation is below as per Oracle document:
We recommend
keeping Production value in prod environment. For any particular composite if
you need to trace the value, you can change the audit level to development at
composite level
Now in some
cases we might have to set the audit level at composite level. Possible values of
audit level are as below:
Off, Minimal, Inherit, Development,
and Production
(Note: OFF
will not show any instances on em but minimal will just show the instances but
no audit trail)
You can set
the audit level for BPEL process service components in two ways:
1. Using MBean browser through em
Soa-infra -> Adminsitration ->
System MBean Browser -> Application
Defined MBeans ->
oracle.soa.config -> Server: <soaserver_name> - SCAComposite
-> <Composite_Name >
-> SCAComposite.SCAComponent -> <BPEL_Service_Component> -> Properties
Click
on Add (+) icon and add the property bpel.config.auditLevel
and save it as shown below:
2. Using Oracle Jdeveloper
<component
name="BPELProcess">
<implementation.bpel
src="BPELProcess.bpel" />
<property name="bpel.config.auditLevel">Minimal</property>
</component>
Note: Processing
time and CPU utilization can be reduced a lot by setting the audit level
property to none or minimal
I hope you
would have got a fair idea on how to tune your soa environment by setting right
audit level at different levels based on your requirements
In case of
any queries, you are welcome to comment or write us at letslearnoraclesoa@gmail.com
Cheers,
LetsLearnOracleSOA Team
No comments:
Post a Comment