Database Tuning for Optimal Throughput

Oracle Service Bus Performance Tuning 21-3 queue. This fixed-size queue is populated with requests for connections that the TCP stack has received, but the application has not accepted yet. This parameter should be tuned when dealing a large number of concurrent clients. For more information, see Tuning Connection Backlog Buffering in Oracle Fusion Middleware Performance and Tuning for Oracle WebLogic Server.

21.3 Tuning OSB Operational Settings

21.3.1 OSB Monitoring

Though the out-of-the-box monitoring subsystem has a very low overhead and scales well to a large number of services as well as to multiple nodes in a cluster, when dealing with thousands of services or a large scale cluster deployment, being selective about enabling monitoring can help reduce network traffic. When a business or proxy service is created, monitoring is disabled by default for that particular service. For more information, see Configuring Operational Settings for Proxy Services or Configuring Operational Settings for Business Services in the Oracle Fusion Middleware Administrators Guide for Oracle Service Bus. To enable or disable monitoring of all services that have individually been enabled or disabled for monitoring, use the Enable Monitoring option on the Operations Global Settings page. For more information, see Enabling Global Settings in the Oracle Fusion Middleware Administrators Guide for Oracle Service Bus.

21.3.2 OSB Tracing

Oracle Service Bus has the option to trace messages without having to shutdown the server. This is an extremely useful feature both in a development and production environment for debugging, diagnosing and troubleshooting problems involving message flows in one or more proxy services. Tracing is disabled by default but can be enabled on a per service basis. When tracing is enabled, the entire message context is also printed including headers and message body. It is important to realize its impact for large message sizes and high throughput scenarios. For more information, see How to Enable or Disable Tracing in the Oracle Fusion Middleware Administrators Guide for Oracle Service Bus.

21.3.3 Cache Tuning for Proxy Service Run-Time Data

OSB caches proxy service runtime meta-data using a two-level cache with static and dynamic sections. The cache introduces a performance tradeoff between memory consumption and compilation cost. Note that caching proxy services may help throughput but could impact memory usage. The static section is an upper-bound Least Recently Used LRU cache that is never garbage collected. When a proxy service is bumped from the static section, it is demoted to the dynamic section where the cache can be garbage collected when there is memory pressure. The number of proxy services in the static portion of the cache can be tuned by setting its size using the system property com.bea.wli.sb.pipeline.RouterRuntimeCache.size. The default value is 21-4 Oracle Fusion Middleware Performance and Tuning Guide 100. This can be increased to a desired value provided there is sufficient memory for runtime data processing for large number of proxy services. This property value can be set in the setDomainEnv.sh file as an extra java argument as follows: -Dcom.bea.wli.sb.pipeline.RouterRuntimeCache.size={size} Example: EXTRA_JAVA_PROPERTIES=-Dcom.bea.wli.sb.pipeline.RouterRuntimeCache.size=3000 {EXTRA_JAVA_PROPERTIES}

21.4 Transport Tuning WLS and OSB

Latency and throughput of poller based transports depends on the frequency with which a source is polled and the number of files and messages read per polling sweep. The following are the main transport configurations to tune:

21.4.1 Polling Interval

Consider using a smaller polling interval for high throughput scenarios where the message size is not very large and the CPU is not saturated. The primary polling interval defaults are listed below with links to additional information:

21.4.2 Read Limit

The read limit determines the number of files or messages that are read per polling sweep. This defaults to 10 for the File and FTP transports. It can be set to 0 to specify no limit. Set this value to the desired concurrency. For more information, see File Transport Configuration Page in the Oracle Fusion Middleware Administrators Guide for Oracle Service Bus. Polling Intervals Default Interval Additional Information File Transport 60 seconds File Transport Configuration Page in the Oracle Fusion Middleware Administrators Guide for Oracle Service Bus FTP Transports 60 seconds FTP Transport Configuration Page in the Oracle Fusion Middleware Administrators Guide for Oracle Service Bus MQ Transport 1000 milliseconds MQ Transport Configuration Page in the Oracle Fusion Middleware Administrators Guide for Oracle Service Bus SFTP Transport 60 seconds SFTP Transport Configuration Page in the Oracle Fusion Middleware Administrators Guide for Oracle Service Bus JCA Transport 60 seconds JCA Transport Configuration Page in the Oracle Fusion Middleware Administrators Guide for Oracle Service Bus