> On 11. Oct 2024, at 14:55, Alan Somers <asom...@freebsd.org> wrote: > > On Fri, Oct 11, 2024 at 1:05 AM Michael Tuexen > <michael.tue...@lurchi.franken.de> wrote: >> >>> On 11. Oct 2024, at 01:07, Alan Somers <asom...@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? > > I was using the regular freebsd TCP stack with cc_chd. The production I'm not sure how well debugged chd is... > system was running FreeBSD 14.1, but my attempts to recreate the > situation using dummynet used 15.0-CURRENT. Please report, if you are able to reproduce it. In that case some BBLogs might be useful.
Best regards Michael