Reducing Audit levels in Production Mode
In this post will talk about: How to reduce the audit level for composites and thus the data written to the SOA schema.
All production environments should have the Audit level set to Production. This should be standard setting for all SOA domains in production. Please note that each component can be set independently of the composite level however Production should be the minimal of settings. Various performance tests have shown that changing from the audit level from Development to Production results in an average of 34 % - 46 % performance improvement (without tuning the individual component audit settings).
If an organization can turn off auditing (provided the business allows for it) there are substantial performance improvements. Internal performance results have shown the changing from Production to Off can result in an average improvement of over 50%-60% (without tuning the individual component audit settings). However since most organizations cannot turn off auditing we recommend the following steps to be considered for reducing the audit levels.
For synchronous BPEL components if the audit trail is not required then use the following settings:
• inmemoryOptimization = true
• completionPersistPolicy = faulted
With these settings the synchronous process only shows in the audit trail if the instance faults. Please note these settings should only be used for synchronous BPEL processes and not for any type of asynchronous BPEL processes.
Another way to reduce the audit level is to turn instance state tracking. On the FMW console Uncheck the "Capture Composite Instance State" this has two benefits
1. A performance improvement since the state is not captured in the DB
2. Less data in the DB for purge purposes.
The implication is although you may still see the composite instances in the FMW console, the "state" of composite instances will be shown as a question mark (?), so you cannot decipher from the console whether the composite has completed or not. Please note that the state column will not reflect the states of the individual components (BPM, BPEL, UserTask, Mediator, etc) within the composite. The state of the individual components can be tracked by going to the respective component pages for e.g. to soa-infra à Service Engine à BPEL in FMW console.
Each component also has its own audit level which can be set since the initial setting is Inherit, which will inherit the global audit setting. These settings can be set via FMW console soa-infra àSOA Administration à BPMN (BPEL, Mediator) Properties. Auditing can be further tuned by setting the level of the composite audit level. It is also set to Inherit by default and it inherits the respective component auditing level. So the following settings are being used at several customers:
• Set global audit level = Production
• Capture Composite Instance State = Off
• BPEL Engine Audit Level = Minimal
• Composite Audit Level = Inherit
• InMemoryOptimization/completionPersistPolicy = true/faulted (for synchronous processes only!)
The above settings can reduce the composite data traffic by 50% and drastically improved purging times.
References: http://www.oracle.com/technetwork/database/features/availability/soa11gstrategy-1508335.pdf
It's Very Nice article
ReplyDeleteOracle SOA Online Course Hyderabad