TCP Tuning
4-6 Oracle HTTP Server powered by Apache Performance Guide
With the tuned TCP stacks, it was possible to get a maximum throughput between
1.5 and 1.8 Mbits via a 2Mbit satellite link, measured with netperf.
Setting TCP parameters
To set the connection table hash parameter, on Intel Solaris, you must add the
following line to your /etc/system file, and then restart the system:
set tcp:tcp_conn_hash_size=32768
On Tru64, tcbhashsize can be set at /etc/sysconfigtab.
A sample script, tcpset.sh, that changes TCP parameters to the settings
recommended here, is included in the
$ORACLE_HOME/Apache/Apache/bin/ directory.
If your system is restarted after you run the script, the default settings will be
restored and you will have to run the script again. To make the settings permanent,
enter them in your system startup file.
Increasing TCP Connection Table Access Speed
If you have a large user population, you should increase the hash size for the TCP
connection table. The hash size is the number of hash buckets used to store the
connection data. If the buckets are very full, it takes more time to find a connection.
Increasing the hash size will reduce the connection lookup time, but increases
memory consumption.
Suppose your system performs 100 connections per second. On Intel Solaris, if you
set tcp_close_wait_interval to 60000, then there will be about 6000 entries in
your TCP connection table at any time. Increasing your hash size to 2048 or 4096
will improve performance significantly.
On a system servicing 300 connections per second, changing the hash size from the
default of 256 to a number close to the number of connection table entries decreases
the average round trip time by three to four seconds. The maximum hash size is
262144. Ensure that you increase memory as needed.
On Intel Solaris, to set the tcp_conn_hash_size, add the line below to your
/etc/system file. The parameter will take effect when the system is restarted.
set tcp:tcp_conn_hash_size=32768
On Tru64, tcbhashsize can be set at /etc/sysconfigtab.