WebLogic Server Performance and Tuning
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Tune your operating system according to your operating system documentation. For Windows platforms, the default settings are usually sufficient. However, the Solaris and Linux platforms usually need to be tuned appropriately. The following sections describe issues related to operating system performance:
Proper OS tuning improves system performance by preventing the occurrence of error conditions. Operating system error conditions always degrade performance. Typically most error conditions are TCP tuning parameter related and are caused by the operating system's failure to release old sockets from a close_wait
call. Common errors are "connection refused
", "too many open files
" on the server-side, and "address in use: connect
" on the client-side.
In most cases, these errors can be prevented by adjusting the TCP wait_time
value and the TCP queue size. Although users often find the need to make adjustments when using tunnelling, OS tuning may be necessary for any protocol under sufficiently heavy loads. The following sections provide information on tuning parameters for various operating systems.
The following sections provide information on tuning Solaris operating systems:
Set the following TCP-related tuning parameters using the ndd
command, as demonstrated in the following example:
ndd -set
/dev/tcp tcp_conn_req_max_q 16384
Note: Prior to Solaris 2.7, the tcp_time_wait_interval
parameter was called tcp_close_wait_interval
. This parameter determines the time interval that a TCP socket is kept alive after issuing a close call. The default value of this parameter on Solaris is four minutes. When many clients connect for a short period of time, holding these socket resources can have a significant negative impact on performance. Setting this parameter to a value of 60000 (60 seconds) has shown a significant throughput enhancement when running benchmark JSP tests on Solaris. You might want to reduce this setting further if the server gets backed up with a queue of half-opened connections.
Tip: Use the netstat -s -P tcp
command to view all available TCP parameters.
Each socket connection to the server consumes a file descriptor. To optimize socket performance, you need to configure your operating system to have the appropriate number of file descriptors. Therefore, you should change the default file descriptor limits, as well as the hash table size and other tuning parameters in the /etc/system
file, to the recommended values in the following table.
Note: You must reboot your machine anytime you modify /etc/system
parameters.
Note: This should only be set for machines that have at least 4 GB RAM or higher. |
|
If you are using CE gigabit cards, we recommend using the following settings.
For more information about Solaris tuning options, see:
For Linux operating systems, the following settings are recommended for optimal performance.
For more information about Linux tuning, you should consult your Linux vendor's documentation. Also, the Ipsysctl Tutorial 1.0.4 describes all of the IP options provided by Linux.
For HP-UX operating systems, the following TCP settings are recommended for optimal performance.
For more HP-UX tuning information, see the Tunable Kernel Parameters reference documentation.
For Windows platforms, the default settings are usually sufficient. However, under sufficiently heavy loads it may be necessary to adjust the MaxUserPort
and TcpTimedWaitDelay
. These parameters determine the availability of user ports requested by an application.
By default, ephemeral (that is, short-lived) ports are allocated between the values of 1024 and 5000 inclusive using the MaxUserPort
parameter. The TcpTimedWaitDelay
parameter, which controls the amount of time the OS waits to reclaim a port after an application closes a TCP connection, has a default value of 4 minutes. During a heavy loads, these limits may be exceeded resulting in an address in use: connect
exception. If you experience address in use: connect
exceptions try setting the MaxUserPort
and TcpTimedWaitDelay
registry values under the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
key:
MaxUserPort = dword:00004e20 (20,000 decimal)
TcpTimedWaitDelay = dword:0000001e (30 decimal)
Increase the value of the MaxUserPort
parameter if the exception persists.
For more information about Windows 2000 tuning options, see:
For more information about Windows, HP-UX, and AIX tuning options, refer to the following Web sites:
![]() ![]() |
![]() |
![]() |