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.
Note: Although the following sections provide information on tuning parameters that BEA has determined can enhance application performance, BEA recommends following your OS vendor's tuning documentation for tuning parameter values and monitoring performance changes when changing tuning parameters in your local environment. Another resource which may provide helpful tuning information is the All SPEC jAppServer2004 Results Published by SPEC web page. It provides the OS tuning parameters used for each reported WebLogic Server benchmark.
The following sections provide information on tuning Solaris operating systems:
This section lists important TCP tuning parameters that when tuned, can enhance application performance:
/dev/tcp tcp_time_wait_interval
/dev/tcp tcp_conn_req_max_q
/dev/tcp tcp_conn_req_max_q0
/dev/tcp tcp_ip_abort_interval
/dev/tcp tcp_keepalive_interval
/dev/tcp tcp_rexmit_interval_initial
/dev/tcp tcp_rexmit_interval_max
/dev/tcp tcp_rexmit_interval_min
/dev/tcp tcp_smallest_anon_port
/dev/tcp tcp_xmit_hiwat
/dev/tcp tcp_recv_hiwat
/dev/ce instance
/dev/ce rx_intr_time
Tip: Use the netstat -s -P tcp
command to view all available TCP parameters.
Set TCP-related tuning parameters using the ndd
command, as demonstrated in the following example:
ndd -set
/dev/tcp tcp_conn_req_max_q 16384
This section lists important /etc/system
file tuning parameters that when tuned, can enhance application performance. Each socket connection to the server consumes a file descriptor. To optimize socket performance, you may 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.
Note: You must reboot your machine anytime you modify /etc/system
parameters.
set rlim_fd_cur
set rlim_fd_max
set tcp:tcp_conn_hash_size
set shmsys:shminfo_shmmax
Note: This should only be set for machines that have at least 4 GB RAM or higher.set autoup
set tune_t_fsflushr
This section lists important CE Gigabit Network Card tuning parameters that when tuned, can enhance application performance:
set ce:ce_bcopy_thresh
set ce:ce_dvma_thresh
set ce:ce_taskq_disable
set ce:ce_ring_size
set ce:ce_comp_ring_size
set ce:ce_tx_ring_size
For more information about Solaris tuning options, see:
This section lists important Linux tuning parameters that when adjusted, can enhance application performance:
/sbin/ifconfig lo mtu
kernel.msgmni
kernel.sem
fs.file-max
kernel.shmmax
net.ipv4.tcp_max_syn_backlog
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.
This section lists important HP-UX operating system tuning parameters that when adjusted, can enhance application performance:
tcp_conn_req_max
tcp_xmit_hiwater_def
tcp_ip_abort_interval
tcp_rexmit_interval_initial
tcp_keepalive_interval
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 HP-UX, and AIX tuning options, refer to the following Web sites:
![]() ![]() |
![]() |
![]() |