2

Here are parts of route cache from three different servers that are NOT under high load.

# ip route show cache | grep -B 1 rtt

local 127.0.0.1 from 127.0.0.1 dev lo 
    cache <local>  mtu 16436 rtt 106ms rttvar 155ms cwnd 7 advmss 16396 hoplimit 64
...
local 127.0.0.1 from 127.0.0.1 dev lo 
    cache <local>  mtu 16436 rtt 145ms rttvar 130ms cwnd 6 advmss 16396 hoplimit 64
...
local 127.0.0.1 from 127.0.0.1 dev lo 
    cache <local>  mtu 16436 rtt 172ms rttvar 205ms cwnd 5 advmss 16396 hoplimit 64

Why may be rtt so high and so noisy (rttvar is quite high too) ? How can I interpret these values?

darkk
  • 333
  • 2
  • 10

1 Answers1

2

Values below 200 msec (TCP_RTO_MIN) for the RTT are meaningless. Values below 250 msec for the rttvar are meaningless (because the other side may not have timers that are sufficiently accurate). The RTT/RTTVAR measurements are irrelevant on such fast interfaces.

From include/net/tcp.h:

#define TCP_RTO_MIN     ((unsigned)(HZ/5))

From net/ipv4/tcp_input.c:

     * 1. If rtt variance happened to be less 50msec, it is hallucination.
     *    It cannot be less due to utterly erratic ACK generation made
     *    at least by solaris and freebsd.
David Schwartz
  • 31,215
  • 2
  • 53
  • 82