Skip Headers

Oracle® Application Server ProcessConnect User's Guide
10g (9.0.4)

Part Number B12121-01
Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index

Go to previous page Go to next page

19
Performance Tuning

This chapter describes how to manage the performance of components of the Oracle Application Server ProcessConnect, including the adapter framework, integration manager, and metadata repository.

This chapter contains these topics:

Performance Factors in Oracle Application Server ProcessConnect

ProcessConnect performance is affected by the following:

In general, when ProcessConnect is required to process a large number of events, in which each event has a large number of steps to process, a bottleneck is likely to occur in either the adapter framework or the integration manager. When ProcessConnect is required to parse, translate, and transform very large events, a bottleneck is likely to occur in either the translation binding role or the transformation binding role.

The following sections discuss bottlenecks in ProcessConnect components and tuning you can do to the components.

Components of an Oracle Application Server ProcessConnect Instance

In an Oracle Application Server ProcessConnect instance, the adapter framework, integration manager, and Oracle Application Server Containers for J2EE (OC4J) communicate with the back-end Oracle Application Server Metadata Repository (an Oracle database). These components are shown in Figure 19-1.

Figure 19-1 Oracle Application Server ProcessConnect Components

Text description of em_perf1.gif follows.

Text description of the illustration em_perf1.gif

An adapter framework instance communicates with one or more parties using the party's respective adapter. For example, an adapter framework instance that communicates with an application that uses Oracle Advance Queuing will use the Advanced Queuing adapter. The adapter framework is responsible for receiving inbound messages and delivering outbound messages to the adapters.

The integration manager is responsible for executing the business processes (which include roles and steps) for all deployed and active configurations.

See Also:

Chapter 18, "System Management with Oracle Enterprise Manager" for information about the OC4J instance

Diagnosing Performance Issues in Oracle Application Server ProcessConnect

To ensure that Oracle Application Server ProcessConnect meets the requirements for performance and scalability required by mission-critical systems, ProcessConnect and its various services--the adapter framework, the integration manager, and translation and transformation services--are designed to be stateless. All states are written to the ProcessConnect runtime repository. As a result, ProcessConnect and its various services can be configured to meet additional scalability and throughput requirements by adding threads or instances depending on where the bottleneck is. You can configure these parameters from the Server Properties link on the ProcessConnect instance page of the Oracle Enterprise Manager Application Server Control.Oracle Enterprise Manager Application Server Control can be used to diagnose performance and scalability bottlenecks.

To diagnose performance bottlenecks within ProcessConnect:

  1. Use Oracle Enterprise Manager Application Server Control to examine CPU and memory usage.

  2. If CPU usage is high, that is, if more than 80% of the CPU is consumed, then there is a resource bottleneck, which can be either the adapter framework or integration manager.

  3. Use the ProcessConnect instance page from the Oracle Enterprise Manager Application Server Control to examine the CPU consumed by the adapter framework and integration manager to determine which one is the potential bottleneck.

  4. Click the Performance link (under the Administration section) for performance statistics on translation, transformation, active applications, and active trading partners.

The following sections describe adapter framework, integration manager, and design tool performance and tuning.

Adapter Framework Performance

Adapter framework performance is affected by:

These factors affect memory and CPU usage for the adapter framework instance. You can view memory and CPU usage in the Oracle Enterprise Manager Application Server Control, as shown in Figure 19-1.

See Also:

Chapter 18, "System Management with Oracle Enterprise Manager"

Each adapter framework instance has one or more threads to handle inbound and outbound messages. The inbound threads are created by the specific adapter and are not controlled by the adapter framework. Refer to specific adapter documentation to tune the performance of incoming messages.

See Also:

"Applications and Adapters" for a discussion of adapters, and the following adapter-specific documents on controlling inbound threads:

The adapter framework outbound processor threads pick up messages that have been processed by the integration manager and deliver them to the adapters. You can configure adapter parameters by editing the Outbound Processor Threads property. Access the parameters from the Server Properties link of the Oracle Enterprise Manager Application Server Control ProcessConnect instance page.

See Also:

"Oracle Enterprise Manager Application Server Control Tasks"

As Figure 19-2 shows (in the bottom portion), you can view adapter framework performance details in Oracle Enterprise Manager Application Server Control.

Figure 19-2 Adapter Interaction and Performance Details

Text description of oem1.gif follows.

Text description of the illustration oem1.gif

Tuning the Adapter Framework

Adapter framework performance can be tuned by appropriately setting the Java Virtual Machine (JVM) memory size and the number of outbound processor threads. If the message rate is high and the adapter framework is not processing messages at an acceptable rate, then you can tune the adapter framework as described in "Increasing JVM Memory for the Adapter Framework".

If the adapter framework CPU usage is high, you may need additional adapter framework instances on different hosts connecting to the same Oracle Application Server Metadata Repository.

See Also:

Oracle Application Server ProcessConnect Installation Guide for installing adapter framework instances

Increasing JVM Memory for the Adapter Framework

Figure 19-3 shows the Oracle Enterprise Manager Application Server Control, with the Process Management link at the bottom of the screen.

Figure 19-3 Oracle Enterprise Manager Application Server Control

Text description of jvm.gif follows.

Text description of the illustration jvm.gif

To increase JVM memory, from the Oracle Enterprise Manager Application Server Control, do the following:

  1. Click Process Management.

  2. In the opmn.xml file window, increase the heap size by changing 512 to 1024, as shown in line 4:

    1  <process-type id="AdapterFramework" module-id="adapter-framework" 
    working-dir="$ORACLE_HOME/ip">
    2   <module-data>
    3    <category id="start-parameters">
    4     <data id="java-parameters" value="-Xms8M -Xmx1024M"/>
                          .
                          .
                          .
                  </process-type>
    

Increasing the Outbound Processor Threads

Increasing the number of outbound processor threads can improve performance when the adapter framework CPU usage is less than 60%.

To increase the number of outbound processor threads, from the Oracle Enterprise Manager Application Server Control, do the following:

  1. Click ProcessConnect from the System Components table.

  2. If the adapter framework CPU usage is less than 60%, click Server Properties.

  3. Increase the number in the Outbound Processor Threads field (under Advanced Properties).

    The property should be set between 1 and 5.

Tuning Technology Adapters

How you use the technology adapters affects the performance and scalability of Oracle Application Server ProcessConnect. This section discusses the best practices for using the most commonly used adapters--the Advanced Queuing (AQ) adapter, the Oracle Database adapter, and the File/FTP adapter.

See Also:

Chapter 8, "Oracle Application Server ProcessConnect Technology Adapters" for adapter details

Advanced Queuing Adapter

The following guidelines apply to the Advanced Queuing adapter:

Oracle Database Adapter

The following guidelines apply to the Oracle Database adapter:

File/FTP Adapter

The following guidelines apply to the inbound interaction when using the File/FTP adapter:

Integration Manager Performance

As Figure 19-1 shows, you can view memory and CPU usage for the integration manager in the Oracle Enterprise Manager Application Server Control.

Integration manager performance is affected by the following:

Using Enterprise Manager to Configure the Number of Threads

The integration manager has five thread pools for role processing and error handling. You can configure the number of threads in each pool by editing the following parameters. In general, increasing the values of the following parameters can improve performance, although performance increases are bounded by the capacity of your computer to handle many threads. Access the parameters from the Server Properties link of Oracle Enterprise Manager Application Server Control.

Using Enterprise Manager to View Transformation and Translation Performance

In general, transformation and translation are the most CPU- and memory-intensive operations in the integration manager. You can view transformation and translation performance in Oracle Enterprise Manager Application Server Control, as shown in Figure 19-4. Based on the transformation and translation performance, you can determine if the number of binding role threads in the Binding Role Threads parameter should be increased.

Figure 19-4 Transformation and Translation Performance

Text description of oem1.gif follows.

Text description of the illustration oem1.gif

Tuning the Integration Manager

If the integration manager is not processing messages at an acceptable rate, then you can do the following:

You can monitor transformation and translation performance through Oracle Enterprise Manager Application Server Control, as shown in Figure 19-4. In general, transformation and translation performance depend on the size of the message and the number of transformation rules. For large messages, you may need to increase the JVM memory for the integration manager. The required memory is as follows:

Increasing JVM Memory for the Integration Manager

To increase JVM memory, from the Oracle Enterprise Manager Application Server Control (see Figure 19-3), do the following:

  1. Click Process Management.

    The opmn.xml file window is displayed.

    Text description of heap1.gif follows.

    Text description of the illustration heap1.gif

  2. In the opmn.xml file window, increase the heap size by changing 512 to 1024, as shown in line 4:

    1  <process-type id="IntegrationManager" module-id="integration-manager" 
    working-dir="$ORACLE_HOME/ip">
    2   <module-data>
    3    <category id="start-parameters">
    4     <data id="java-parameters" value="-Xms8M -Xmx1024M"/>
                         .
                         .
                         .
                  </process-type>
    

Increasing the Binding Role Threads

Increasing the number of concurrent translations and transformations by increasing the number the binding role threads can also improve performance.

To increase the number of binding role threads, from the Oracle Enterprise Manager Application Server Control do the following:

  1. Click ProcessConnect from the System Components table.

  2. Click Server Properties.

  3. Increase the number in the Binding Role Threads field.

    The property should be set between 2 and 10.

    .

    See Also:

    "Binding role threads"

If the application roles, native roles, business roles, and business process roles have complex roles, then you may need to increase the size of their respective thread pools.

.

See Also:

"Using Enterprise Manager to Configure the Number of Threads"

Finally, to improve performance, you can add integration manager instances connecting to the same Oracle Application Server Metadata Repository if the integration manager CPU usage is greater than 80%.

See Also:

Oracle Application Server ProcessConnect Installation Guide for installing integration manager instances

Setting the Appropriate BI Reporting Level

The BI reporting level controls the amount of instance state that is logged by the integration manager while executing the deployed business processes. This information is used by the ProcessConnect process monitoring and activity monitoring reports. By default the BI reporting level is set to high during deployment. When the BI reporting level is set to high, all reports are fully functional. Setting the BI reporting level to low reduces database activity and hence gives better performance. In some cases there can be up to a 2x performance improvement with a low BI reporting level. However, in this mode, some reports are not available.

.

See Also:

Chapter 23, "Creating Reports" for details on the reports available with various BI levels

Design Tool Performance

The design tool runs as part of the OC4J instance. The performance of the design tool is determined by the number of concurrent users and the complexity of the integration scenario.

Creating and deploying configurations are memory-intensive tasks. These tasks can take around 5 to 20 minutes. If the tasks are considerably slower, then you may need to increase the JVM heap size (the default is 512M) for the OC4J instance.

Increasing JVM Memory for the OC4J Instance

To increase JVM memory, from the Oracle Enterprise Manager Application Server Control (see Figure 19-3), do the following:

  1. Click Process Management.

  2. In the opmn.xml file window, increase the heap size by changing 512 to 1024, as shown in line 4:

    1  <process-type id="OC4J_ProcessConnect" module-id="OC4J">
    2   <module-data>
    3    <category id="start-parameters">
    4     <data id="java-options"      
    value="-Djava.security.policy=/private/sabburi/midtier/j2ee/OC4J_
    ProcessConnect/config/java2.policy-Djava.awt.headless=true -Xms32M 
    -Xmx1024M"/>
                           .
                           .
                           .
                  </process-type>
    
    

If you have memory starvation or contention issues, you can do the following:

  1. If you are not executing any active configurations, shut down the integration manager and adapter framework.

  2. Design and deploy your configurations.

  3. Restart the integration manager and adapter framework.

If Oracle Identity Management is not used and if the OracleAS Infrastructure 10g runs on the same machine, you can do the following:

  1. In the Oracle home corresponding to the back-end infrastructure repository, shut down all OPMN-managed processes related to the OracleAS Infrastructure 10g. (If Oracle Identity Management is used, then the OPMN-managed OID and OC4J security processes are required for ProcessConnect to run.)

Metadata Repository Tuning

The Oracle Application Server ProcessConnect database schema and integration metadata are stored in the metadata repository of OracleAS Infrastructure 10g. The metadata repository is used by the Oracle Application Server ProcessConnect design tool and runtime components to access the integration metadata and record execution state. Hence it is critical that the infrastructure database is tuned for maximum performance.

.

See Also:

Oracle9i Database Performance Guide and Reference, Part IV, for details on gathering database performance statistics using the STATSPACK tool

The following are most relevant for ProcessConnect performance:

Memory Configuration

Proper sizing and effective use of the Oracle memory caches greatly improve database performance.

I/O Contention

By default, the repository database is installed on a single disk. If your ProcessConnect integration is I/O constrained, you may see some benefit by distributing the I/O across multiple disks.

On Solaris, use "iostat -xtcn" to see the per-disk activity. If the disk containing the repository database is 50% or more busy, then it is a good candidate for I/O distribution. The redo logs probably generate the most I/O, so try moving them to a different disk first. You can also use statspack to identify tablespaces with high I/O activity that may also be candidates for moving to different disks.

Undo and Temporary Tablespaces

Oracle provides automatic undo management, which automates the management of undo data. A database running in automatic undo management mode transparently creates and manages undo segments. Oracle strongly recommends using automatic undo management, because it significantly simplifies database management and in general gives better performance.

Configuring the temporary tablespace helps optimize disk sort performance. This involves choosing good storage clauses and the correct type of tablespace to use for sorting.

See Also:

Oracle9i Database Performance Guide and Reference, Part III, for details on configuring the database for good performance


Go to previous page Go to next page
Oracle
Copyright © 2003 Oracle Corporation.

All Rights Reserved.
Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index