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

33
0 embryonic connections dropped
4985775 segments updated rtt (of 4985775 attempts)
0 retransmit timeouts
0 connections dropped by rexmit timeout
0 persist timeouts
2 keepalive timeouts
0 keepalive probe sent
0 connections dropped by keepalive
0 connect requests dropped due to full queue
0 connect requests dropped due to no listener
0 suspect connect requests dropped due to aging
0 suspect connect requests dropped due to rate
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.
Important fields for the netstat p udp command include the bad checksums and socket
overflows fields, which should have low values. For example:
# netstat -p udp
udp:
0 incomplete headers
11 bad checksums
3318 socket overflows
The previous example shows a value of 3318 in the socket overflows field, which indicates that the
UDP socket buffer may be too small.
You can tune the default UDP socket buffer size larger using the following ndd command:
# ndd -set /dev/sockets socket_udp_rcvbuf_default 65535
If you have UDP applications that need larger socket buffer sizes, HP recommends that you set the socket
buffer sizes using setsockopt() instead of setting the system-wide default to a larger value.
Regardless, it should be noted that simply increasing the size of the socket buffer only helps if the length of
the overload condition is short and the burst of traffic is less than the size of the socket buffer. Increasing the
socket buffer size will not help if the overload is sustained, or if the overload is caused by a slow or
unresponsive application that is not receiving data from the connection at a rate at least equal to the rate
from the network.
There are two most common ways to identify the overflowing UDP socket:
ndd get /dev/ip ip_udp_status lists the UDP fanout table and one of the columns is
“overflows”. If the UDP port is long-lived, this will tell which UDP socket is experiencing the
overflows.
Collect a network trace during one of the overflows and look for an ICMP SOURCE QUENCH
packet. If the SOURCE QUENCH was generated because of a UDP socket overflow, the SOURCE
QUENCH packet will tell you which UDP socket is overflowing.