Deluge not using full bandwidth capacity

General support for problems installing or using Deluge
Post Reply
schullq
New User
New User
Posts: 3
Joined: Mon Jun 01, 2020 4:40 pm

Deluge not using full bandwidth capacity

Post by schullq »

Hello,

I'm running Deluge on an Ubuntu 18.04 server, using the linuxserver docker image.

For some reason, Deluge doesn't seem to use its full capacity. I have around 800 Mbps download and upload bandwidth capacity, but Deluge is always staying below 20 Mo/s while downloading (no matter how much simultaneous downloads/uploads I have, the sum never goes up to 20).

While trying to optimize that speed, I read about the best ports to use. So I tried to change them. And here is the magic: for a few moment (let's say around 1 min), the speed goes up to its maximum capacity, but after that, drops to the previous 20 Mo/s.

The thing is, anytime I change the port, the speed goes up, then it drops, like something is cutting it somehow. I really don't know if the problem is coming from the Docker conf, or the Deluge conf.

Any help would be nice.

Thanks
mhertz
Moderator
Moderator
Posts: 2215
Joined: Wed Jan 22, 2014 5:05 am
Location: Denmark

Re: Deluge not using full bandwidth capacity

Post by mhertz »

Sorry, don't know about the port thing, but for best speeds in deluge, if having good connection and resources to boot, then good starting point is using ltconfig plugin and selecting 'high-performance seed' preset there(or likeminded named). In it's description in official documentation, then is stated to be for uploading and no downloading, but I asked lead-dev Arvid some years ago, about if also useful for downloading as didn't sound like it, but he stated it's too "a good starting point". I do remove alot of options from that preset and mostly used things that to me sounded like making sense for mostly downloading, but full preset worked fine too, so not strictly needed seemingly, and I most probably have cut out good options by lack of knowledge currently on said setting, but you can try it yourself and adjust if needed and/or tune op down in values/settings of said preset, if wanted.

Ohh, I assume you have portforwarding setup correctly/enabled, as also is much important with speed, and first step to consider obviously(and not limiting speed inappropriately under deluge settings), so obviously should be asumed when speed optimization is concerned, but just adding for making absolutely sure.

Lastly, with or without 'high-performance seed' preset, then sometimes uTP is hindering your speeds as throttles down too aggressively, especially often under VPN usage, but also under "normal" conditions there's some speed to improve regardless, in my experience, and so if wanting to see if that is the culprit in your case, then try disabling uTP, and only use TCP connections, which isn't either disabled by the 'high-performance seed' preset, but though is set to prefer TCP mostly, but that is not always enough however.

To disable uTP, then with ltconfig plugin, you disable both 'enable_outgoing_utp' and 'enable_incoming_utp'. Note if using deluge2, then the ltconfig plugin has a bug with not being able to tick/untick boolean options(true/false type), so have to add them yourself to ltconfig.conf under your deluge profile dir, e.g. you can copy/paste the two needed lines from a ltconfig.conf found online and into your ltconfig.conf, or input them directly yourself. If not wanting the 'high-performance seed' preset, then can just use that ltconfig.conf found online as yours, and edit to only feature said two lines there. Example ltconfig.conf: https://gist.github.com/kbrx93/cb7ad4b5 ... 0637776fe2

Edit: Though I would too enable some further options for download if considering only disabling uTP and nothing else, like e.g I just took the most obvious from the 'high-performance seed' preset, but there's more I need look into of them e.g. for tunning also buffers and watermarks etc, which I don't really have any good grasp on currently to be hones(and also a few other options not in that preset for announcing to all trackers always, anonymous mode for VPN usage and tracker_backoff, for reconnecting to failing trackers after 5 secs or so(like rtorrent does), instead of waiting 10 mins, though after some time this value is extended based on some internal libtorrent calculation, but fine enough to reconnect and get seeds/peers if only a temporary thing). Note, I didn't disable uTP in this(my) example here, so add those yourself if wanting this. I personally didn't disable uTP, because wanted most coverage possible for the case of torrents with very few seeds/peers, and uTP supports UDP hole-punching, which if lucky can get you connected to firewalled peers at times, plus some state many clients prefer uTP, even though of what i've read, then clients supporting uTP have it always by default enabled to support both(would be silly having only uTP as default imho), unless specifically changed, it might connect first through uTP, but fallback to TCP if not getting handshake back on the initial request, sometimes both connections trried simultaniously(utorrent if remember correct), or libtorrent-raterbar(e.g. deluge), where TCP follows failed uTP request(again if remember right, unless disabled of-course). Also, much popular client rtorrent doesn't even support uTP, and is frequently used on seedboxes and elsewhere, so TCP should be fine regardless anyhow, but just explaining my reasoning for omiting disabling it(uTP), just in case, and also because my uTP speeds isn't that bad either, compaired to TCP(and have "prefer-tcp" option enabled too i.e. "mixed_mode_algorithm=0"), but have read multiple report of it making drastic differences for others, and uTP implementation is known to be somewhat buggy at throttling at times, or atleast used to be.

Code: Select all

{
  "file": 1, 
  "format": 1
}{
  "apply_on_start": true, 
  "settings": {
    "connection_speed": 500, 
    "mixed_mode_algorithm": 0, 
    "connections_limit": 8000, 
    "request_timeout": 10, 
    "peer_timeout": 20, 
    "inactivity_timeout": 20, 
    "low_prio_disk": false, 
    "tracker_backoff": 22, 
    "aio_threads": 8, 
    "allow_multiple_connections_per_ip": true, 
    "anonymous_mode": true, 
    "announce_to_all_trackers": true, 
    "announce_to_all_tiers": true
  }
}
Good luck! :)
Post Reply