19 User Messaging Service Performance Tuning

This chapter describes tips for tuning the User Messaging Service. It contains the following sections:

19.1 About Oracle User Messaging Services

Oracle User Messaging Service enables users to receive notifications sent from SOA applications that are developed and deployed to the Oracle WebLogic Server using Oracle JDeveloper.

At the application level, there is notification activity for a specific delivery channel (such as SMS or E-Mail). For example, when you build a SOA application that sends e-mail notification, you drag and drop an Email Activity component from the JDeveloper Component Palette to the appropriate location within a workflow. The application connects then sends notifications.

For more information on Oracle User Messaging Service, see Oracle WebLogic Communication Services Administrator's Guide, Oracle WebLogic Communication Services Developer's Guide, and the Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.

19.2 Basic Tuning Considerations

Depending on your User Messaging usage and performance issues, you may consider tuning the following:

19.2.1 SMPP Driver Performance Tuning

Short Messaging Peer-Peer Protocol (SMPP) messaging drivers can be configured using Enterprise Manager. One of the key parameters for optimizing SMPP performance is WindowSize. This is especially important when the SMPP driver is connected to a remote SMSC and there is high network latency between the two elements. Configuring the WindowSize parameter enables the SMPP driver to send several requests to the Short Messaging Service Center (SMSC) before waiting for an acknowledgment. Without windowing (i.e., a WindowSize of 1), the driver must wait for a synchronous acknowledgment from the SMSC before sending the next message. With windowing, more messages can be sent per network round-trip, allowing a higher overall throughput.

To take advantage of an increased WindowSize, the number of MDB threads for the driver must be correspondingly increased. The two values should be matched so that driver threads can process and send messages before waiting for the requests to be acknowledged. Increasing the two values may improve performance, but only up to the point at which network latency no longer dominates the sending rate. Also, the maximum allowed value for the WindowSize is normally defined as a service policy by the SMSC operator.

For more information, see "Configuring Oracle User Messaging Service" in Oracle WebLogic Communication Services Administrator's Guide.

19.2.2 Email Driver Polling Frequency

For Email drivers, the "CheckMailFreq" configuration parameter defines how frequently the driver checks for incoming emails. For example, a value of "30" means the driver checks the configured inbox every 30 seconds. This parameter can influence performance; checking more frequently enables the driver to keep up with a higher incoming email load, but can impact performance due to frequent IMAP or POP3 operations. Default value is 30 seconds.

19.3 Database Tuning for Optimal Throughput

User Messaging Service stores messaging state such as sent and received messages and delivery status information in the database. Therefore, database and data source tuning may have an effect on messaging throughput. The connection pool size for the data sources can be tuned for higher load levels, but the defaults are sufficient for most cases.

For general database tuning considerations, see Section 2.6, "Tune Database Parameters".