Tune the Chunk Parameters Tuning Connection Backlog Buffering

Tuning WebLogic Server 7-9 Server should be appropriate for the host machine. By default, WebLogic Server configures 1024 file descriptors. However, this setting may be low, particularly for production systems. Note that when you tune the number of file descriptors for WebLogic Server, your changes should be in balance with any changes made to the complete message timeout parameter. A higher complete message timeout setting results in a socket not closing until the message timeout occurs, which therefore results in a longer hold on the file descriptor. So if the complete message timeout setting is high, the file descriptor limit should also be set high. This balance provides optimal system availability with reduced potential for denial-of-service attacks. For information about how to tune the number of available file descriptors, consult your UNIX vendor’s documentation.

7.5.7 Tune the Chunk Parameters

A chunk is a unit of memory that the WebLogic Server network layer, both on the client and server side, uses to read data from and write data to sockets. To reduce memory allocation costs, a server instance maintains a pool of these chunks. For applications that handle large amounts of data per request, increasing the value on both the client and server sides can boost performance. The default chunk size is about 4K. Use the following properties to tune the chunk size and the chunk pool size: ■ weblogic.Chunksize —Sets the size of a chunk in bytes. The primary situation in which this may need to be increased is if request sizes are large. It should be set to values that are multiples of the networks maximum transfer unit MTU, after subtracting from the value any Ethernet or TCP header sizes. Set this parameter to the same value on the client and server. ■ weblogic.utils.io.chunkpoolsize —Sets the maximum size of the chunk pool. The default value is 2048. The value may need to be increased if the server starts to allocate and discard chunks in steady state. To determine if the value needs to be increased, monitor the CPU profile or use a memory heap profiler for call stacks invoking the constructor weblogic.utils.io.Chunk. ■ weblogic.PartitionSize —Sets the number of pool partitions used default is 4. The chunk pool can be a source of significant lock contention as each request to access to the pool must be synchronized. Partitioning the thread pool spreads the potential for contention over more than one partition.

7.5.8 Tuning 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 queue. This fixed-size queue is populated with requests for connections that the TCP stack has received, but the application has not accepted yet. For more information on TCP tuning, see Section 4, Operating System Tuning. You can tune the number of connection requests that a WebLogic Server instance will accept before refusing additional requests, see Tune connection backlog buffering in Oracle WebLogic Server Administration Console Help.

7.5.9 Tuning Cached Connections