The following sections contain Oracle best practices for designing, developing, and deploying WebLogic Web Services applications and application resources:
Design and architectural decisions have a strong impact on runtime performance and scalability of Web Service applications. Here are few key recommendations to achieve best performance.
Web Service Reliable Messaging provides advanced store-and-forward capability for high-performance message forwarding from a local server instance to a remote destination. See “ Understanding the Store-and-Forward Service” in Configuring and Managing WebLogic Store-and-Forward. The following section provides information on how to get the best performance from Store-and-Forward (SAF) applications:
WindowSize
parameter on the remote SAF agent. For small messages of less than 1K, tuning WindowSize
as high as 300 can improve throughput. Note: | Note that WindowSize also tunes JMS SAF behavior, so it may not be appropriate to tune this parameter for SAF agents of type both . |
retry delay
is not set too low. This may cause the system to make unnecessary delivery attempts.
The asynchronous request-response, reliable messaging, and buffering features are all pre-tuned for minimum system resource usage to support a small number of clients (under 10). If you plan on supporting a larger number of clients or high message volumes, you should adjust the tuning parameters to accommodate the additional load.
The reliable messaging and buffering features use JMS queue sessions to send messages to the reliability/buffer queues. By default, WebLogic Server allocates 10 sessions for buffering which enables 10 clients to enqueue messages simultaneously onto the reliability/buffer queue.
Note that for asynchronous request-response, the request and response portion of the communication exchange count separately, as two clients. In this case, the default pool of sessions can support five simultaneous asynchronous request-response clients. To accommodate the number of concurrent clients you expect in your application, set the following parameter to twice the number of expected client threads:
-Dweblogic.wsee.buffer.QueueSessionPoolSize=size
When using the asynchronous request-response feature, WebLogic Server persistently stores information about the request until the asynchronous response is returned to the client. These resources remain in the persistent store until they are released by a background thread, called the store cleaner.
Often, these resources can be released sooner. Executing the store cleaner more frequently can help to reduce the size of the persistent store and minimize the time required to clean it.
By default, the store cleaner runs every two minutes (120000 ms). Oracle recommends that you set the store cleaner interval to one minute (60000 ms) using the following Java system property:
-Dweblogic.wsee.StateCleanInterval=60000