On 1/30/23 16:30, Matt Garber wrote:

     > Any help/insight is gratefully appreciated.
     >
     > Cheers,
     >
     > Paul.
     >

    sysctl net.inet.tcp.cc.algorithm=htcp

    I would set "htcp" on the server and home computer to improve
    through in
    your type of situation.



There may be other FreeBSD sysctls that have bad defaults in this scenario and could be better tuned, but I doubt changing the CC algorithm at this point is the problem — at least not so much a problem that’s causing throughput to be reduced so drastically. Happy to be wrong if that does help things quickly and easily, though.

(Since OP mentioned that FreeBSD CC was set to CUBIC, that would match what the Linux boxes are using by default, too, unless they’ve been changed to something newer like BBR… so seems like CUBIC *should* be performing fine on this WAN link, and the difference is something else.)


—Matt


I love FreeBSD and very much appreciate the efforts of those people much smarter. But... I don't think the defaults get enough testing in real world conditions.

I came across Paul's issue several years ago and spent a few a hours testing and found the defaults performed very well on a LAN but could perform terribly on a many hop WAN. HTCP performs marginally worse on a LAN or close WAN connection, but much much better on a many hop WAN connection.

Testing:
------------------------------------
All computers are running FreeBSD 13.1. File transfer done with SCP. No changes were made between runs other than toggling the cc.algorithm. Be sure to run sysctl net.inet.tcp.hostcache.expire=1 before testing. (default 3600)

HOST 1) 10 hops and 50ms pings. Connection limited to 120mb
------------------------------------
Run #1
NEWRENO 100%  315MB  13.0MB/s   00:24
HTCP    100%  315MB  12.8MB/s   00:24

Run #2
NEWRENO 100% 315MB  13.2MB/s   00:23
HTCP    100%  315MB  12.8MB/s   00:24


HOST 2) 17 hops and 110ms pings. Connection limited to 100mb
------------------------------------
Run #1
NEWRENO  100%  315MB   1.1MB/s   04:48
HTCP     100%  315MB  10.5MB/s   00:30

Run #2
NEWRENO  100%  315MB   1.6MB/s   03:22
HTCP     100%  315MB   3.5MB/s   01:29

Run #3
NEWRENO  100%  315MB   1.3MB/s   04:00
HTCP     100%  315MB  10.8MB/s   00:29

In my opinion HTCP is a better default for the current state of the internet.

Cheers,
David


Reply via email to