A.1.4 Saga Performance
The performance and throughput of Saga applications depend on the Saga
framework and AQ performing at an optimal level. The database systems (PDBs) should
be configured with adequate JOB_QUEUE_PROCESSES
to facilitate AQ
propagation and notification. Java applications should configure sufficient
producers and consumers. See numListeners
and
numPublishers
in the Configuration section of the Saga annotations.
In addition, the following parameters can be modified to achieve a higher level of performance.
queue_partitions
For higher throughput, Saga entities can deploy several queue partitions. By default, Saga entities use a single queue partition. Multiple queue partitions allow for a greater degree of parallelism for the Saga framework. All entities in the topology must have a matching number of queue partitions configured.
See Also:
DBMS_SAGA_ADM for a
complete description of the SYS.DBMS_SAGA_ADM
package APIs.
listener_count
By default, the Saga framework uses the AQ message notification feature
for handling the message traffic on the coordinator’s IN queue. Under high load, the
coordinator’s IN queue may become a bottleneck for performance. The
listener_count
parameter of the
DBMS_SAGA_ADM.ADD_COORDINATOR()
procedure can be revised to a
number greater than 1. This enables Saga message listeners to process messages on
the Saga coordinator’s IN queue instead of using AQ notifications. Saga message
listeners eliminate some of the overheads of AQ message notification and provide an
efficient mechanism for handling the inbound message traffic for the Saga
coordinator.
See Also:
DBMS_SAGA_ADM for a
complete description of the SYS.DBMS_SAGA_ADM
package APIs.