Further Advice, Hints, and Remarks

This section covers a variety of topics, starting with various TCP timers, that do not relate to previously mentioned issues. The second subsection throws a quick glance at some erratic behavior. The final subsection looks at a variety of parameters that deal with the reservation of resources.

Common TCP Timers

This section covers three important TCP timers. First I will have a look at the keep-alive timer. This timer is rather controversial, and some versions of Solaris implement it incorrectly. The next parameter limits the twice maximum segment lifetime (2MSL) value, which is connected to the time a socket spends in the TCP state TIME_WAIT. The final entry looks at the time spend in the TCP state FIN_WAIT_2.

tcp_keepalive_interval

Default 7200000, recommended 0 <= x <= ∞

This is one of the most controversial values in talking with people about appropriate values. The interval specified with this key must expire before a keepalive probe can be sent. Keepalive probes are described in the host requirements RFC 1122: if a host chooses to implement keepalive probes, it must enable the application to switch them on or off for a connection, and keepalive probes must be switched off by default.

Keepalives can terminate a perfectly good connection (as far as TCP/IP is concerned), cost money, and use up transmission capacity (commonly called bandwidth, which is actually something completely different). Determining whether a peer is alive should be a task ...

Get Web Performance Tuning now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.