Re: How does the TCP measurement period work?

From: Michael Tuexen <Michael.Tuexen_at_lurchi.franken.de>
Date: Fri, 11 Oct 2024 07:05:08 UTC
> On 11. Oct 2024, at 01:07, Alan Somers <asomers@freebsd.org> wrote:
> 
> 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.
Which TCP stack and which CC module did you use? Which version of FreeBSD?

Best regards
Michael
> 
> Grateful for any insights.
> -Alan
>