11 General Tuning for SOA Suite Components

This chapter describes tuning configurations that can apply to multiple SOA Suite applications.

For more information on any of the SOA Suite Applications, see Section 10.4.1, "SOA Suite Components" for a list of the application-specific documentation provided in this guide.

Note:

Additional SOA tuning recommendations can be found in "Managing Large Documents and Large Number of Instances" in the Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.

11.1 About SOA Suite Configuration Properties

Refer to the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite for more information on configuring the SOA Applications.

11.2 SOA Infrastructure Configurations

SOA Infrastructure configuration parameters impact the entire SOA Infrastructure. The following configurations are modified through the SOA-INFRA component:

  • Viewing and setting the SOA Infrastructure audit level

  • Capturing the state of the SOA composite application instance

  • Enabling the payload validation of incoming messages

  • Specifying the callback server and server URLs

  • Setting UDDI registry properties

  • Viewing the data source JNDI locations

  • Setting the non-fatal connection retry count

  • Setting Web service binding properties

For more information on SOA configuration, see "Configuring SOA Infrastructure Properties" in Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

11.2.1 Audit Level

The Audit Level property enables you to select the level of information to be collected by the message tracking infrastructure. This information is collected in the instance data store (database) associated with the SOA Infrastructure. This setting has no impact on what is written to log files.

Value Description
Off No composite instance tracking and payload tracking information is collected. Note that no logging and display of instances in Oracle Enterprise Manager Fusion Middleware Control Console can result in a slight performance increase for processing instances. Instances are created, but are not displayed.
Production Composite instance tracking is collected, but the Oracle Mediator service engine does not collect payload details and the process service engine does not collect payload details for assign activities (payload details for other activities are collected). This level is optimal for most normal production operations.
Development Enables both composite instance tracking and payload detail tracking. However, this setting may impact performance. This level is useful largely for testing and debugging purposes.

11.2.2 Instance Tracking Audit Trail Threshold

This parameter is used to limit the audit trail size while it is being built. The default value is 1MB. If the audit trail exceeds the instanceTrackingAuditTrailThreshold size (1MB by default), then an exception is thrown, and the audit trail is not fully built. The value is in Bytes, so the default value is 1024*1024. This parameter can improve performance, as it prevents huge audit trails to potentially consume a lot or all the memory available on the SOA server where the audit trail is built. So in many way it acts as a safety valve. However in some cases users might want to increase the default value, if they get an exception while retrieving audit trails from Enterprise Manager, that states the " instanceTrackingAuditTrailThreshold" has been exceeded.

11.2.3 Logging Level

For more information on setting the logging levels for your applications, see "Configuring Log Files" in Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

11.3 Modifying SOA Configuration Parameters

SOA soa-infra level configurations can be set through Oracle Enterprise Manager.

For more information, see "Getting Started with Administering Oracle SOA Suite and Oracle BPM Suite" in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

11.4 JVM Tuning Parameters

JVM parameters can have an impact on SOA performance. The major factors that impact a SOA component's performance relate to the heap size. For more information on tuning the JVM for performance, see Section 2.4, "Tuning Java Virtual Machines (JVMs)".

11.5 Database Settings

Tuning your database configurations may be useful with the SOA Suite of applications. Configurations and specific settings may vary for different use cases. See your database-specific administration manuals for more information on tuning database properties.

For additional basic database tuning guidelines, see Section 2.6, "Tuning Database Parameters".

11.5.1 Configuring Data Sources for SOA

SOA obtains database connections using an application server managed data source. You can use the WebLogic Server Console to configure SOA data source. For more information on using the WebLogic Server Console, seethe Oracle Fusion Middleware Administrator's Guide.

Consider the following data source configurations when performance is an issue:

  • When configuring the data source, ensure that the connection pool has enough free connections.

  • Statement caching can eliminate potential performance impacts caused by repeated cursor creation and repeated statement parsing and creation. Statement caching also reduces the performance impact of communication between the application server and the database server

  • Disable unnecessary connection testing and profiling.

For more information, see "Tuning JDBC Stores" in Oracle Fusion Middleware Performance and Tuning for Oracle WebLogic Server.

11.5.2 Managing Tables and Indexes

Consider using hash partitioning on your tables and indexes if your data does not easily lend itself to range partitioning, but you would like to partition for performance and manageability reasons. Hash partitioning provides a method of evenly distributing data across a specified number of partitions. Rows are mapped into partitions based on a hash value of the partitioning key. Creating and using hash partitions gives you a highly tunable method of data placement, because you can influence availability and performance by spreading these evenly sized partitions across I/O devices (striping).

Caution:

Do not use partitioning on any date-based index that is likely to be used in range queries by Enterprise Manager or SOA. Partitioning date-based indexes, such as STATE_TYPE_DATE and COMPOSITE_INSTANCE_CREATED, for example, could siginificantly impact perforamance.

To improve performance, consider using hash partitioning on the following tables and indexes. Note that the performance improvement of each partitioning will vary considerably depending on the type of composite.

Partitioned Table Name Partition Type Number
CUBE_INSTANCE Partitioned and Reverse key index CI_CREATION_DATE Not Applicable
CUBE_SCOPE Partition by hash (CIKEY) Partitions = 200
MEDIATOR_CASE_INSTANCE Partition by hash ("ID") Partitions = 200
XML_DOCUMENT Partition by hash (document_id) Partitions = 200

Hash Partitioned Indexes
BRDECISIONINSTANCE_INDX3
MEDIATOR_INSTANCE_INDEX2
MEDIATOR_INSTANCE_INDEX5
MEDIATOR_INSTANCE_INDEX6
MEDIATOR_INSTANCE_INDEX1
MEDIATOR_INSTANCE_INDEX3
MEDIATOR_CASE_INSTANCE_INDEX2
MEDIATOR_CASE_DETAIL_INDEX1
REFERENCE_INSTANCE_CO_ID
CI_NAME_REV_STATE
DOC_DLV_MSG_GUID_INDEX
REFERENCE_INSTANCE_ECID
DMEDIATOR_CASE_INSTANCE_INDEX3
REFERENCE_INSTANCE_ID
MEDIATOR_CASE_DETAIL_INDEX1
CI_ECID
COMPOSITE_INSTANCE_ID
MEDIATOR_CASE_DETAIL_INDEX2

11.5.3 Weblogic Server Performance Tuning

For complete performance tuning of Weblogic Server, refer to Oracle Fusion Middleware Performance and Tuning for Oracle WebLogic Server.