Ahoy, me hearties!

Listen well, me brethren! I’ve just acquired a fine NAS, and I be lookin’ to bolster our magnificent pirate community by sharing me digital plunder far and wide. But alas, it’s come to me attention that the uploads on all me torrents be as small as a speck of sand on the ocean floor, or worse, a big fat zero!

Now, I beseech ye, me shipmates, lend me yer wisdom. How can I fortify our pirate brotherhood? What be the proper settings for me NAS? Be there any trusty trackers or tools to help me upload and distribute the most crucial booty to aid our cause on the high seas?

Speak up, ye seasoned scallywags, and together we shall chart a course toward a stronger, more formidable pirate crew! 🏴‍☠️🦜⚓

  • Brickfrog@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    For any of this to make a difference you should disable µTP in your torrent client, or make it prefer TCP over µTP.

    Just as a caveat, people disabling/throttling µTP may want to manually set appropriate global rate limits (upload/download bandwidth) otherwise it’s possible the torrent client will actually hit the maximum upload/download limits of the ISP or router forcing everything else on the network to slow down/time out during other internet usage. You’re obviously more advanced so you already know all this :)

    Mainly it’s extra info for noobs messing around with their settings, often times noobs mess around with settings, disable things, etc. & then wonder why their torrent client keeps “crashing” their internet :P Making changes to µTP should be more of a last resort IMO.

    µTP itself is a pretty big topic, there are a fair amount of people testing different settings in the qBittorrent / Libtorrent Github Issues but I’m not sure there’s even a consensus on a proper default setting. e.g. qBittorrent’s devs specifically chose different µTP defaults vs the Libtorrent library’s own defaults. qBittorrent defaults to having µTP enabled with preferring TCP (throttles µTP), Libtorrent defaults to having µTP enabled with peer_proportional (does not throttle µTP). The qBittorrent default is reasonable though I wonder if the Libtorrent default is the more “correct” approach but that’s certainly up to much debate. In both cases µTP is never disabled completely.

    With my own testing I tend to keep settings at Libtorrent defaults just to observe behavior, with mainly private tracker peers I’ve noticed at least ~60% of my incoming connections are from µTP peers so at least for me it seems reasonable to keep it enabled.

    • unperson [he/him]@hexbear.net
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      10 months ago

      The big problem with disabling µTP is that because it uses UDP, under some kinds of NAT you can get incoming connections despite being NATted. So you will loose some peers if you’re behind a NAT. If you’re not NATted there’s no connectability advantage, because every client that implements µTP can fall back to TCP.

      The big advantage to disabling it that you can tweak these things. I don’t know of any client that lets you choose which congestion control algorithm that µTP uses. They all use one called LEDBAT that’s one of the first attempts to design one that avoids “bufferbloat”, i.e. that problem where the torrents fill up the buffers in routers and “clog up the Internet”. That’s nice however it doesn’t work well with networks with a lot of jitter like wi-fi, and it “loses” to algorithms that do fill up the buffer like the default TCP CUBIC. BBR avoids bufferbloat and is designed to keep working well with high jitter—Google’s intention was to make YouTube load faster on mobile phones. It also it wins over CUBIC, which is why almost every seedbox comes configured with no µTP and BBR congestion control. However, because it wins over CUBIC it will “clog up the Internet” in a different way: you may get lower speeds on everything else but don’t lose interactivity.

      Linux comes with a different version of BBR that’s tuned to always yield to other traffic called lp. You enable it with net.ipv4.tcp_congestion_control = lp. I think lp is the optimal choice for seeding public torrents: you give full speed to faraway peers, but only when there’s nobody else that can do it.