Re: How does the TCP measurement period work?

Alan Somers <[email protected]>
Newsgroups gmane.os.freebsd.devel.net
Message-ID <CAOtMX2jmXNvbEbO+njec-qGXcuPcrEr4qa-nrhdHjS8+rnutJA@mail.gmail.com>
On Fri, Oct 11, 2024 at 1:05 AM Michael Tuexen
<[email protected]> wrote:
>
> > On 11. Oct 2024, at 01:07, Alan Somers <[email protected]> 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?

I was using the regular freebsd TCP stack with cc_chd.  The production
system was running FreeBSD 14.1, but my attempts to recreate the
situation using dummynet used 15.0-CURRENT.
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.