WebSphere® Application Server uses the TCP/IP sockets communication mechanism extensively. For a TCP/IP socket connection, the send and receive buffer sizes define the receive window. The receive window specifies the amount of data that can be sent and not received before the send is interrupted. If too much data is sent, it overruns the buffer and interrupts the transfer. The mechanism that controls data transfer interruptions is referred to as flow control. If the receive window size for TCP/IP buffers is too small, the receive window buffer is frequently overrun, and the flow control mechanism stops the data transfer until the receive buffer is empty.
Flow control can consume a significant
amount of CPU time and result in additional network latency as a result
of data transfer interruptions. It is recommended that you increase
buffer sizes avoid flow control under normal operating conditions.
A larger buffer size reduces the potential for flow control to occur,
and results in improved CPU utilization. However, a large buffer size
can have a negative effect on performance in some cases. If the TCP/IP
buffers are too large and applications are not processing data fast
enough, paging can increase. The goal is to specify a value large
enough to avoid flow control, but not so large that the buffer accumulates
more data than the system can process.
The
default buffer size is 8 KB. The maximum size is 8 MB (8096 KB). The
optimal buffer size depends on several network environment factors
including types of switches and systems, acknowledgment timing, error
rates and network topology, memory size, and data transfer size. When
data transfer size is extremely large, you might want to set the buffer
sizes up to the maximum value to improve throughput, reduce the occurrence
of flow control, and reduce CPU cost.
Buffer
sizes for the socket connections between the Web server and WebSphere Application Server
are set at 64 KB. In most cases this value is adequate.
Flow control can be an issue when an application
uses either the IBM® Developer
Kit for Java JDBC driver or
the IBM Toolbox for Java JDBC driver to access a remote database.
If the data transfers are large, flow control can consume a large
amount of CPU time. If you use the IBM Toolbox
for Java JDBC driver, you can
use custom properties to configure the buffer sizes for each data
source. It is recommended that you specify large buffer sizes, for
example, 1 MB.
Some system-wide settings
can override the default 8 KB buffer size for sockets. With some applications,
for example, WebSphere Commerce
Suite, a buffer size of 180 KB reduces flow control and typically
does not adversely affect paging. The optimal value is dependent on
specific system characteristics. You might need to try several values
before you determine the ideal buffer size for your system.
TCP/IP can be the source of some significant remote
method delays.
For more information, see section
4.6 in the http://www.redbooks.ibm.com/redbooks/SG247347/wwhelp/wwhimpl/js/html/wwhelp.htm
document. In addition, see the http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.prftungd/doc/prftungd/tcp_streaming_workload_tuning.htm
document.
Also, see the _recv_hiwater_def and tcp_xmit_hiwater_def parameter
information in the following document: http://docs.hp.com/en/11890/perf-whitepaper-tcpip-v1_1.pdf
For more information, see section 2.2
in the following document: http://www.redbooks.ibm.com/redbooks/SG247584/wwhelp/wwhimpl/java/html/wwhelp.htm
For information on tuning TCP/IP buffer sizes,
see the "TCP window size" section of the http://support.microsoft.com/kb/224829
document. Consider setting the TcpWindowSize value to either 8388608
or 16777216.
To change the system wide
value, perform the following steps:
Repeat this
process until you determine the ideal buffer size.
The TCP/IP
buffer sizes are changed. Repeat this process until you determine
the ideal buffer size.
For more information
about TCP/IP performance, see Chapter 5 of the Performance Capabilities
Reference. Links to several editions of the Performance Capabilities
Reference are in the Performance Management Resource Library.
In this information ...Related tasks
| IBM Redbooks, demos, education, and more(Index) |