SMPP Driver Performance Tuning

21-2 Oracle Fusion Middleware Performance and Tuning Guide ■ WebLogic Server Tuning

21.2.1 JVM Memory Tuning

JVM parameters can have an impact on OSB performance. The two primary JVM tuning parameters to consider when optimizing OSB performance are heap size and garbage collection. For more information on tuning the JVM for performance, see Section 2.4, Tune Java Virtual Machines JVMs .

21.2.2 WebLogic Server Tuning

To optimize OSB, consider tuning the following WebLogic Server parameters:

21.2.2.1 Domain Mode

For production environments, create a domain in Production mode to maximize performance. The parameter is: -Dweblogic.ProductionModeEnabled=true To enable Weblogic server production mode through Weblogic Administration Console, see Oracle Fusion Middleware Understanding Domain Configuration for Oracle WebLogic Server.

21.2.2.2 WebLogic Server Logging Levels

For OSB performance testing and production environments, consider using the lowest acceptable logging level, such as ERROR or WARNING whenever possible. For more information, see Section 2.10, Set Logging Levels

21.2.2.3 HTTP Access Logging

To optimize OSB perfomance, consider turning off the HTTP access logging. For more information, see Section 5.3.1, Access Logging .

21.2.2.4 JMS Tuning

Ensure that the right persistence level is set for the Java Message Service JMS destinations. Consider the following scenarios: ■ For non-persistent JMS scenarios: Explicitly turn off persistence at the JMS server level by un-checking the Store Enabled flag from the Advanced section of the General tab for the JMS server on the WebLogic Server console. It is also possible to override the persistence mode at the JMS destination level. ■ For persistent JMS scenarios: There are two choices: file store and JDBC store. Typically operations on a File Store perform better than JDBC store. If there are multiple JMS servers involved, create each store on a separate disk to lower IO contention. For more information on JMS Server Tunings, see Tuning WebLogic JMS in the Oracle Fusion Middleware Performance and Tuning for Oracle WebLogic Server.

21.2.2.5 Connection Backlog Buffering

You can tune the number of connection requests that a WebLogic Server instance will accept before refusing additional requests. The Accept Backlog parameter specifies how many Transmission Control Protocol TCP connections can be buffered in a wait 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