Oracle® Fusion Middleware Performance and Tuning for Oracle WebLogic Server 11g Release 1 (10.3.1) Part Number E13814-01 |
|
|
View PDF |
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 Oracle has determined can enhance application performance, Oracle 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" inhttp://www.spec.org/jAppServer2004/results/jAppServer2004.html
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:
Note:
The following sections list common parameters that can enhance performance. These lists are not all inclusive and parameters may be different, have different defaults, or be out of date for different Solaris operating systems. For more information, see Additional Solaris Tuning Information.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
Note:
Use thenetstat -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 (Solaris 8 and 9)
set ip:ipcl_conn_hash_size (Solaris 10)
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:
Solaris Tunable Parameters Reference Manual (Solaris 8), at http://docs.sun.com/app/docs/doc/806-6779
Solaris Tunable Parameters Reference Manual (Solaris 9), at http://docs.sun.com/app/docs/doc/806-7009
Solaris Tunable Parameters Reference Manual (Solaris 10), at http://docs.sun.com/app/docs/doc/817-0404
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", at http://ipsysctl-tutorial.frozentux.net/ipsysctl-tutorial.html
, 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 "Tunable Kernel Parameters" reference documentation at http://docs.hp.com/hpux/onlinedocs/TKP-90203/TKP-90203.html
.
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:
The "Microsoft Windows 2000 TCP/IP Implementation Details white paper" at http://www.microsoft.com/windows2000/techinfo/howitworks/communications/networkbasics/tcpip_implement.asp
.
The "Windows 2000 Performance Tuning white paper" at http://www.microsoft.com/technet/prodtechnol/windows2000serv/maintain/optimize/perftune.mspx
.
For more information about Windows, HP-UX, and AIX tuning options, refer to the following Web sites:
For Windows tuning information, see the "Microsoft Windows 2000 TCP/IP Implementation Details white paper" at http://www.microsoft.com/windows2000/techinfo/howitworks/communications/networkbasics/tcpip_implement.asp
.
For AIX tuning information, see the "AIX 5L Version 5.2 Performance Management Guide" at http://publib16.boulder.ibm.com/pseries/en_US/aixbman/prftungd/prftungd.htm
.
Maximum memory for a user process — Check your operating system documentation for the maximum memory available for a user process. In some operating systems, this value is as low as 128 MB. Also, refer to your operating system documentation.For more information about memory management, see Chapter 5, "Tuning Java Virtual Machines (JVMs)".