How does the TCP measurement period work?

Alan Somers <[email protected]>
Newsgroups gmane.os.freebsd.devel.net
Message-ID <CAOtMX2hKZy9omwHXLpKw42QwpGcUmTwLqSp=OWYYZ8cqOwwQ6w@mail.gmail.com>
Can somebody please explain to me how the TCP measurement period
works?  When does h_ertt decide to take a new measurement?

Motivation:
I recently saw a long-distance connection that should've been capable
of 80+ MBps suddenly drop to < 1 MBps.  Subsequent analysis of the
pcap file showed that while the typical RTT was 16.5 ms, there were a
few spikes as high as 380ms that coincided with the drop in
throughput.  The surprising part was that even though RTT returned to
a good value, the throughput stayed low for the entire remaining
transfer, which lasted 750s.  I would've expected throughput to
recover once RTT did.  My theory is that h_ertt never made a new
measurement.  However, I cannot reproduce the problem using dummynet
on a local VM.  With dummynet, as soon as I return the RTT to normal,
the throughput quickly recovers, as one would expect.

Grateful for any insights.
-Alan
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.