HP-UX TCP/IP Performance White Paper, March 2008

41
Appendix A: Annotated output of netstat s (TCP, UDP, IP,
ICMP)
This chapter contains the annotated output of the netstat –s command run on an HP-UX 11i system. The
following annotated output is from a test system for illustration only. There may not be any particular
problem or issue as indicated by the output.
TCP:
The TCP statistics can be retrieved by themselves with the command netstat -p tcp.
tcp:
612755429 packets sent
This is the total number of packets sent by TCP since boot. A "TCP packet" is referred to as a "segment."
This value includes both data and control segments. A control segment could be a standalone ACK or
window update, or a SYNchronize, FINished, or ReSeT segment.
414543546 data packets (3533061789 bytes)
This is the number of TCP segments sent which carried data, and the total quantity of data they carried. If
one divides the octets (bytes) by the number of segments (packets) one has some idea of the average
quantity of data per segment. In general, TCP will move data more efficiently the greater the amount of
data per segment is, with an upper limit of the Maximum Segment Size (MSS). This is not always possible
if applications are naturally making small sends, or if the TCP_NODELAY option is set unnecessarily,
preventing TCP from aggregating multiple small sends from the application into a single large segment. For
some applications (eg Telnet, ssh) which carry user-interactive traffic (eg keystrokes) the average segment
size will necessarily be quite small.
The average segment size could also be small because remote systems are advertising small values for the
MSS (related ndd: tcp_mss_def, tcp_mss_min) or because this system is configured to not use Path
MTU Discovery (related ndd: ip_pmtu_strategy, tcp_ignore_path_mtu).
6579 data packets (5914789 bytes) retransmitted
This is the number of TCP data segments which were retransmitted. These retransmissions could have come
from a TCP retransmission timer expiring (ndd: tcp_rexmit_interval_min,
tcp_rexmit_interval_max, tcp_rexmit_interval_initial), or from a fast retransmission,
which is triggered by the arrival of multiple duplicate ACKs. In either case, retransmitted segments are an
indication of loss, delay, or reordering of segments on the network, and will have a strong negative effect
on TCP throughput.
As with initial data segment transmission, one can arrive at an average retransmitted segment size by
dividing the octet count by the segment count.
As far as a range of acceptable values for the number of retransmitted segments, it depends entirely on the
conditions. Retransmission rate of as little as 1% can have a considerable effect on overall throughput. It
can also have a noticeable effect on perceived responsiveness. Consider for example, the case where one
is simply typing at an ssh session. Consider also that the average round-trip time is something like 10