Most of these changes are in the /etc/rc2.d/S99tuning
script (ndd this and that). There is also one change in /etc/system.
1. ip_strict_dst_multihoming
default = 0
currently = 1
This change is less about performance and more about security. ip_strict_dst_multihoming
will prevent the kernel from forwarding packets from one interface
to another. In other words, strict multihoming requires a host not
to accept datagrams on physical interfaces to which the logical one
is not bound. Outgoing datagrams are restricted to the interface which
corresponds with the source ip address.
2. tcp_time_wait_interval
default = 4 minutes
set to = 60 seconds
This parameter tells TCP how long to keep closed connection control
blocks. Once iPlanet completes a TCP connection, the control blocks
will be kept for the requested wait_interval. When high connection
rates occur, a large backlog of TCP connections build up and can slow
the server down.
3. tcp_conn_req_max_q
default = 128
set to = 1024
This setting defines the size of the tcp connection
request queue. This means that the server can have up to 1024 connections
in this queue. These connections have completed the three way handshake
of a TCP open (SYN ACK SYN), and the connections in this queue are
in the state "ESTABLISHED", but have not been accepted by
iPlanet yet.
4. tcp_conn_req_max_q0
default = 1024
set to = 2048
This setting is related to the previous. The difference in this queue
is that here, the connections do not have to be complete. Connections
in this queue are in the "SYN_RCVD" state. A nifty side
effect to increasing this value for performance tuning, is that it
will also help protect against a SYN flooding attack.
5. tcp_conn_req_min
default = 1
set to = 512
Pretty self explanatory. This is the default minimum value of the
maximum number of pending TCP connection requests for a listener waiting
to be accepted. This is the lowest maximum value of listen(3SOCKET)
an application can use.
6. tcp_conn_hash_size
default = 512
set to = 1024
The tcp connection hash size determines the size of the table where
Solaris keeps all interesting information like RTO, MSS, windows and
states on any TCP connection. According to one guy on the net, Sun
increases this to 262144 in order to benchmark webservers.