How to Use Baselines How to Handle Resource Saturation How to Use Proactive Monitoring

28 Tuning Integration Flows 28-1 28 Tuning Integration Flows To maximize the performance of your integration flows, you must monitor, analyze, and tune all the components. This chapter describes the tools that you can use to monitor performance and the techniques for optimizing the performance of the integration flows as well as the underlying Oracle Fusion Middleware components. This chapter includes the following sections: ■ Section 28.1, Introduction to Tuning ■ Section 28.2, Oracle Database Performance Tuning ■ Section 28.3, Configuring the Common SOA Infrastructure ■ Section 28.4, BPEL - General Performance Recommendations ■ Section 28.5, Oracle Mediator: General Performance Recommendations ■ Section 28.6, Tuning Oracle Adapters for Performance ■ Section 28.7, Purging the Completed Composite Instances ■ Section 28.8, Tuning Java Virtual Machines JVMs ■ Section 28.9, Tuning Weblogic Application Server

28.1 Introduction to Tuning

Performance tuning usually involves a series of trade-offs. After you have determined what is causing the bottlenecks, you may have to modify performance in some other areas to achieve the desired results. However, if you have a clearly defined plan for achieving your performance objectives, the decision on what to trade for higher performance is easier because you have identified the most important areas.

28.1.1 How to Use Baselines

The most effective way to tune is to have an established performance baseline that can be used for comparison if a performance issue arises. It is important to identify the peak periods at the site and install a monitoring tool that gathers performance data for those high-load times. Optimally, data gathering should be configured when the application is in its initial trial phase during the QA cycle. Otherwise, this should be configured when the system is first in production.

28.1.2 How to Handle Resource Saturation

If any of the hardware resources are saturated consistently at or near 100 utilization, one or more of the following conditions may exist: 28-2 Developers Guide for Oracle Application Integration Architecture Foundation Pack ■ The hardware resources are insufficient to run the application ■ The system is not properly configured. ■ The application or database must be tuned. ■ There could be some serious problembottleneck with in the codeserviceprocess which is consuming more resources or not releasing the resources for a long time. ■ There could be a problem with echo systems not responding within the expected time and causing a choking situation. Any bottlenecks identified in production should be fixed in the code and a performance improvement patch must be applied. For a consistently saturated resource, the solutions are to reduce load or increase resources. For peak traffic periods when the increased response time is not acceptable, consider increasing resources or determine if there is traffic that can be rescheduled to reduce the peak load, such as scheduling batch or background operations during slower periods.

28.1.3 How to Use Proactive Monitoring

Proactive monitoring usually occurs on a regularly scheduled interval, where a number of performance statistics are examined to identify whether the system behavior and resource usage has changed. Proactive monitoring can also be considered as proactive tuning. Usually, monitoring does not result in configuration changes to the system, unless the monitoring exposes a serious problem that is developing. In some situations, experienced performance engineers can identify potential problems through statistics alone, although accompanying performance degradation is usual. Experimenting with or tweaking a system when there is no apparent performance degradation as a proactive action can be a dangerous activity, resulting in unnecessary performance drops. Tweaking a system should be considered reactive tuning, and the steps for reactive tuning should be followed. Oracle Fusion Middleware provides a variety of technologies and tools that can be used to monitor Server and Application performance. Monitoring is an important step in performance tuning and enables you to evaluate server activity, watch trends, diagnose system bottlenecks, debug applications with performance problems and gather data that can assist you in tuning the system. For more information, see Monitoring Oracle Fusion Middleware in Oracle Fusion Middleware Administrators Guide Also, refer to Garbage Collection Configuration in the Oracle Fusion Middleware Performance and Tuning Guide for monitoring memory by enabling garbage collections.

28.1.4 How to Eliminate Bottlenecks