8 Tuning WebLogic Server for Exalogic Environments

This chapter provides tuning and best practices information for WebLogic Server in Exalogic environments.

Note:

The attributes in this section should be enabled only when configuring a WebLogic domain for Oracle Exalogic environments.

Enable Exalogic Optimizations

Optimizations include improved thread management, request processing, and reduced lock contention. To enable all servers in a domain to use Exalogic optimizations:

  1. If you have not already done so, in the Change Center of the Administration Console, click Lock & Edit. See "Use the Change Center" in Oracle WebLogic Server Administration Console Online Help.

  2. In the left pane of the Console, under Domain Structure, select the domain name.

  3. Select Configuration > General and select the Enable Exalogic Optimizations check box.

  4. Click Save, and then, to activate these changes, in the Change Center, click Activate Changes.

  5. Shut down and restart all servers that are currently running in the domain. See "Start and stop servers" in Oracle WebLogic Server Administration Console Online Help.

Message Compression In Oracle Exalogic Environments

WebLogic Server provides the ability to configure message compression for JMS Store I/O operations which may provide significant performance improvements in Oracle Exalogic environments.

By selecting an appropriate message body compression option, JMS store I/O performance may improve for:

  • Persistent messages that are read from or written to disk.

  • Persistent and non-persistent messages are paged in or paged out when JMS paging is enabled.

The following sections provide information on how to configure message compression:

For general tuning information on JMS message compression, see Compressing Messages.

Selecting a Message Compression Option

This section provides information on the types of message compression available for use when message body compression is enabled.

Note:

The performance of each compression option is dependent on the operating environment, data type, and data size. Oracle recommends users test their environments to determine the most appropriate compression option.

Table 8-1 Message Body Compression Options

Compression Type Description

GZIP DEFAULT_COMPRESSION

Use GZIP_DEFAULT_COMPRESSION to enable message compression using the JDK GZIP API with DEFAULT_COMPRESSION level. See java.util.zip package.

GZIP BEST_COMPRESSION

Use GZIP_BEST_COMPRESSION to enable message compression using the JDK GZIP API with BEST_COMPRESSION level. See java.util.zip package.

GZIP BEST_SPEED

Use GZIP_BEST_SPEED to enable message compression using the JDK GZIP API with BEST_SPEED level. See java.util.zip package.

LZF

Use LZF to enable message compression using Open Source LZF. See https://github.com/ning/compress.


Message Compression for JMS Servers in Exalogic Environments

To configure message body compression for JMS servers:

  1. If you have not done so, create a JMS Server, see "Create JMS servers" in the Oracle WebLogic Server Administration Console Online Help

  2. Use the instructions to "Configure general JMS server properties" in the Oracle WebLogic Server Administration Console Online Help. Update the following Advanced JMS server attributes for your environment:

    1. Optionally, select Store Message Compression Enabled to enable the JMS store to perform message body compression. See "StoreMessageCompressionEnabled" in MBean Reference for Oracle WebLogic Server.

    2. Optionally, select Paging Message Compression Enabled to enable the JMS paging store to perform message body compression on persistent and non-persistent messages. See "PagingMessageCompressionEnabled" in MBean Reference for Oracle WebLogic Server.

    3. In Message Compression Options, specify the type of message compression used. See "MessageCompressionOptions" in MBean Reference for Oracle WebLogic Server.

Message Compression for Store-and-Forward Sending Agents in Exalogic Environments

To configure message body compression for SAF Sending Agents:

  1. If you have not done so, create a SAF Sending Agent, see "Create Store-and-Forward agents" in the Oracle WebLogic Server Administration Console Online Help

  2. Use the instructions to "Configure SAF agent general properties" in the Oracle WebLogic Server Administration Console Online Help. Update the following Advanced Sending Agent attributes for your environment:

    1. Optionally, select Store Message Compression Enabled to enable the JMS store to perform message body compression. See "StoreMessageCompressionEnabled" in MBean Reference for Oracle WebLogic Server.

    2. Optionally, select Paging Message Compression Enabled to enable the JMS paging store to perform message body compression on persistent and non-persistent messages. See "PagingMessageCompressionEnabled" in MBean Reference for Oracle WebLogic Server.

    3. In Message Compression Options, specify the type of message compression used. See "MessageCompressionOptions" in MBean Reference for Oracle WebLogic Server.

Enable Concurrent Queue for Pending Requests

When enabled, a concurrent buffer queue is used for incoming requests which increases throughput as requests are scheduled with out acquiring any locks. This attribute is automatically enabled when Enable Exalogic Optimizations is enabled at the Domain level. See Enable Exalogic Optimizations.

To manage this behavior at the server level:

  1. If you have not already done so, in the Change Center of the Administration Console, click Lock & Edit. See "Use the Change Center" in Oracle WebLogic Server Administration Console Online Help.

  2. In the left pane of the Console, under Domain Structure, select Environment > Servers.

  3. Select a server.

  4. Select Configuration > Tuning.

  5. Click Advanced and select the Enable Exalogic Optimizations check box.

  6. Click Save, and then, to activate these changes, in the Change Center, click Activate Changes.

  7. Shut down and restart the server. See "Start and stop servers" in Oracle WebLogic Server Administration Console Online Help.

Enable NIOSharedWorkSocketMuxer

When enabled, reduces queue wait time for requests with high impact from muxing, such as JMS messages, replication, RMI. This attribute is automatically enabled when Enable Exalogic Optimizations is enabled at the Domain level. See Enable Exalogic Optimizations.

To manage this behavior at the server level:

  1. If you have not already done so, in the Change Center of the Administration Console, click Lock & Edit. See "Use the Change Center" in Oracle WebLogic Server Administration Console Online Help.

  2. In the left pane of the Console, under Domain Structure, select Environment > Servers.

  3. Select a server.

  4. Select Configuration > Tuning.

  5. Click Advanced and enter one of the following values in the Muxer Class field:

    • To enable, enter: weblogic.socket.NIOSharedWorkSocketMuxer

    • To disable, enter weblogic.socket.NIOSocketMuxer

    Enable Exalogic Optimizations check box.

  6. Click Save, and then, to activate these changes, in the Change Center, click Activate Changes.

  7. Shut down and restart the server. See "Start and stop servers" in Oracle WebLogic Server Administration Console Online Help.

Enable Gathered Writes

When enabled, this attribute increases efficiency during I/O in environments with high network throughput. This attribute is automatically enabled when Enable Exalogic Optimizations is enabled at the Domain level. See Enable Exalogic Optimizations.

To manage this behavior at the server level:

  1. If you have not already done so, in the Change Center of the Administration Console, click Lock & Edit. See "Use the Change Center" in Oracle WebLogic Server Administration Console Online Help.

  2. In the left pane of the Console, under Domain Structure, select Environment > Servers.

  3. Select a server.

  4. Select Configuration > Tuning and select the Enable Gathered Writes check box.

  5. Click Save, and then, to activate these changes, in the Change Center, click Activate Changes.

  6. Shut down and restart the server. See "Start and stop servers" in Oracle WebLogic Server Administration Console Online Help.