This chapter describes how to tune Oracle Mediator for optimal performance. It contains the following topics:
Mediator is a component of Oracle SOA offering that provides mediation capabilities like selective routing, transformation and validation capabilities, along with various message exchange patterns, like synchronous, asynchronous and event publishing or subscription. Oracle Mediator provides the framework to mediate between various providers and consumers of services and events. The Mediator service engine runs with the SOA Service Infrastructure Java EE application.
See Also:For details about the SOA Suite, see Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
For details about Oracle Mediator, see "Administering Oracle Mediator Service Components and Engines" in Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite.
In most business environments, customer data resides in disparate sources including business partners, legacy applications, enterprise applications, databases, and custom applications. The challenge of integrating this data efficiently can be met by using Oracle Mediator to deliver real-time data access to all applications that update or have a common interest in the same data.
Note:Before you begin tuning Oracle Mediator properties, be sure that you have read and understand the Oracle Mediator chapters in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite.
This section provides details about setting common Oracle Mediator properties such as:
This property controls DMS metrics tracking level. By default, DMS metrics collections is enabled. If you do not need to collect DMA metrics data, consider setting the
metricsLevel to Disabled to improve performance.
When performance is an issue, consider using domain-value maps instead of database lookup within XSL transformations to minimize file I/O.
For more information on using domain value maps, see "Working with Domain Value Maps" in Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
The following performance configuration parameters can be used for tuning components with parallel routing rules deployed:
DeferredWorkerThreadCount: Specifies the number of deferred dispatchers for processing messages in parallel. For higher loads consider increasing this parameter to have more number of outbound threads for deferred processing as each parallel rule is processed by one of the
DeferredWorkerThreads. Default value is 4 threads.
DeferredMaxRowsRetrieved: When Mediator routing rule type is set to 'Parallel',
DeferredMaxRowsRetrieved sets the number of maximum rows (maximum number of messages for parallel routing rule processing) that are retrieved from Mediator store table (which stores messages for parallel routing rule for processing.) Note that each message retrieved in this batch is processed by one worker thread at a time. Default value is 200 rows.
DeferredLockerThreadSleep: For processing parallel routing rules, Oracle Mediator has a daemon locker thread that retrieves and locks messages from Mediator store database. The thread polls the database to retrieve messages for parallel processing. When no messages are available, the locker thread "sleeps" for the amount of time specified in the
DeferredLockerThreadSleep and prevents round trips to database. Default value is 2 seconds.
During the specified time, no messages are available for parallel routing in either of the following cases:
There are no Mediator components with parallel routing rules deployed.
Mediator component(s) with parallel routing rule is deployed, but there are no continuous incoming messages for such components.
Note:You can specify Oracle Mediator component Priority through JDeveloper Mediator designer. This property is used to set priority among Oracle Mediator components with parallel routing rules.
For more information, see "Creating Mediator Routing Rules" in Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
Consider increasing the following error and retry parameter values when you do not want to reduce the number of database trips:
ErrorLockerThreadSleep: Specifies the idle time between two successive iterations for retrieving errored out messages, when there is no errored out message from parallel processing. The time is measured in seconds. Default value is 5 seconds.
RetryLockerThreadSleep: Sleep time in seconds for retry locker when there is no message. Default value is 5 seconds.
For more information on routing, see "Creating Mediator Routing Rules" in Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
The Event Delivery Network (EDN) delivers events published by Oracle Mediator, Oracle BPEL Process Manager components, and external publishers such as Oracle Application Development Framework entity objects.
To improve performance of the Event Delivery Network, consider increasing the thread count (default is 3.) This property can be modified through WLST. For more information, see Section 10.3, "Modifying SOA Configuration Parameters".