Skip navigation.

WebLogic Server Performance and Tuning

  Previous Next vertical dots separating previous/next from contents/index/pdf Contents View as PDF   Get Adobe Reader

Operating System 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:

 


Basic OS Tuning Concepts

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.

 


Solaris Tuning Parameters

The following sections provide information on tuning Solaris operating systems:

Setting TCP Parameters With the ndd Command

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

Table 4-1 Suggested TCP-Related Parameter Values

Parameter

Suggested Value

/dev/tcp tcp_time_wait_interval

60000

/dev/tcp tcp_conn_req_max_q

16384

/dev/tcp tcp_conn_req_max_q0

16384

/dev/tcp tcp_ip_abort_interval

60000

/dev/tcp tcp_keepalive_interval

7200000

/dev/tcp tcp_rexmit_interval_initial

4000

/dev/tcp tcp_rexmit_interval_max

10000

/dev/tcp tcp_rexmit_interval_min

3000

/dev/tcp tcp_smallest_anon_port

32768

/dev/tcp tcp_xmit_hiwat

131072

/dev/tcp tcp_recv_hiwat

131072

/dev/ce instance

0

/dev/ce rx_intr_time

32


 

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.

Setting Parameters In the /etc/system File

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.

Table 4-2 Suggested /etc/system Values

Parameter

Suggested Value

set rlim_fd_cur

8192

set rlim_fd_max

8192

set tcp:tcp_conn_hash_size

32768

set shmsys:shminfo_shmmax

Note: This should only be set for machines that have at least 4 GB RAM or higher.

4294967295

set autoup

900

set tune_t_fsflushr

1


 

CE Gigabit Network Card Settings

If you are using CE gigabit cards, we recommend using the following settings.

Table 4-3 Suggested CE Gigabit Card Values

Parameter

Suggested Value

set ce:ce_bcopy_thresh

256

set ce:ce_dvma_thresh

256

set ce:ce_taskq_disable

1

set ce:ce_ring_size

256

set ce:ce_comp_ring_size

1024

set ce:ce_tx_ring_size

4096


 

For more information about Solaris tuning options, see:

 


Linux Tuning Parameters

For Linux operating systems, the following settings are recommended for optimal performance.

Table 4-4 Suggested Linux Values

Parameter

Suggested Value

/sbin/ifconfig lo mtu

1500

kernel.msgmni

1024

kernel.sem

1000 32000 32 512

fs.file-max

65535

kernel.shmmax

2147483648

net.ipv4.tcp_max_syn_backlog

8192


 

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.

 


HP-UX Tuning Parameters

For HP-UX operating systems, the following TCP settings are recommended for optimal performance.

Table 4-5 Suggested HP-UX TCP Values

Parameter

Suggested Value

tcp_conn_req_max

4096

tcp_xmit_hiwater_def

1048576

tcp_ip_abort_interval

60000

tcp_rexmit_interval_initial

4000

tcp_keepalive_interval

900000


 

For more HP-UX tuning information, see the Tunable Kernel Parameters reference documentation.

 


Windows Tuning Parameters

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:

 


Other Operating System Tuning Information

For more information about Windows, HP-UX, and AIX tuning options, refer to the following Web sites:

 

Skip navigation bar  Back to Top Previous Next