Opened 13 months ago

#3290 new bug

artificial bandwidth limit if max_download_speed set to -1.0

Reported by: r79io Owned by:
Priority: minor Milestone: needs verified
Component: Core Version: 2.0.3
Keywords: max_download_speed, bandwidth, bandwidth limit Cc:

Description

Even with all bandwidth related settings set to -1 (or -1.0) I'm unable to get a DL speed faster then around 30M/s, currently with 22 active downloads, 508 connections and on a private tracker.

Background

Deluge is running headless on Arch with the newest kernel (5.2.1.arch1-1). It's running in a virtualized environment using Proxmox. The cache is set according to the RAM available and at it's topmost setting (with the idea that more cache -> more speed). According to the disk usage, the write cache seems to be ignored though, which I might put into another ticket / do some research on. The RAM usage is at around 14GB of 17.5GB (due to the 14 gigs cache I set, see the config below), the CPU usage at around 2.56 cores of 4 cores.

The router is an old Server blade with like 24 cores and 24GB RAM, running an opnSense that is seriously tired and completely unchallenged by the load (HW usage is at around 1 core and 1 GB RAM tops). The WAN is a symmetrical Gigabit connection that has some loss (I think the transceiver sucks), with an actual speed of around 700Mbps symmetrical (although it seems to be fluctuating a bit at times).

In order to maintain separation of concern, we're using a separate (virtualized) server as fileserver (as we're also running Plex). It's connected with sshfs with speed optimizations (cache, compression, chacha20 algo, some others) and in theory running over the LAN, in practice it shouldn't (we're still figuring that part out and probably create a virtual network to boost those speeds a bit).

The config can be seen below.

What I did so far

  • Fiddled around with the cache (smaller, higher, longer expiry, shorter expiry)
  • checked sshfs speeds (copied a file with rsync and back, the speed was at around 30mb/s read and 80mb/s write, no impact on deluges speed at all)
  • checked sshfs speeds from another pc (same scenario, no impact on deluges speed at all)
  • did a speedcheck using fast.com, reached 600Mbps, no impact on the deluges speed at all
  • changed the max connections and the connections per torrent, the speeds of the individual seeders went up, but the overall speed stayed the same
  • restarted deluge
  • added a file from a public tracker with like 8000 seeders, I got around 500 more connections, the speed of that file was pretty solid, but the overall speed stayed the same (it stole speed from the private's trackers file).
  • changed the max_download_speed to the highest value the gtk client let me, no impact on deluges speed at all
  • removed "Auto Managed" from the torrents
  • downloaded a torrent with the preallocated setting

None of those things either changed the download speed nor fixed the problem. I feel like something should be bottlenecking there, but all the bottlenecks I could think of were checked, which makes me believe that this must be a bug, hence this report.

Config

╰─$ sudo cat core.conf
{
    "file": 1,
    "format": 1
}{
    "add_paused": false,
    "allow_remote": true,
    "auto_manage_prefer_seeds": false,
    "auto_managed": true,
    "cache_expiry": 240,
    "cache_size": 917868,
    "copy_torrent_file": false,
    "daemon_port": 58846,
    "del_copy_torrent_file": false,
    "dht": false,
    "dont_count_slow_torrents": false,
    "download_location": "/srv/deluge/ocean/Random",
    "download_location_paths_list": [
        "/srv/deluge/ocean/Series",
        "/srv/deluge/ocean/Random",
        "/srv/deluge/ocean/Movies"
    ],
    "enabled_plugins": [],
    "enc_in_policy": 1,
    "enc_level": 2,
    "enc_out_policy": 1,
    "geoip_db_location": "/usr/share/GeoIP/GeoIP.dat",
    "ignore_limits_on_local_network": true,
    "info_sent": 0.0,
    "listen_interface": "",
    "listen_ports": [
        6881,
        6881
    ],
    "listen_random_port": null,
    "listen_reuse_port": true,
    "listen_use_sys_port": false,
    "lsd": true,
    "max_active_downloading": -1,
    "max_active_limit": -1,
    "max_active_seeding": -1,
    "max_connections_global": -1,
    "max_connections_per_second": -1,
    "max_connections_per_torrent": -1,
    "max_download_speed": -1.0,
    "max_download_speed_per_torrent": -1,
    "max_half_open_connections": -1,
    "max_upload_slots_global": -1,
    "max_upload_slots_per_torrent": -1,
    "max_upload_speed": -1.0,
    "max_upload_speed_per_torrent": -1,
    "move_completed": false,
    "move_completed_path": "/srv/deluge/Downloads",
    "move_completed_paths_list": [
        "/srv/deluge/ocean/Series",
        "/srv/deluge/ocean/Movies"
    ],
    "natpmp": true,
    "new_release_check": true,
    "outgoing_interface": "",
    "outgoing_ports": [
        0,
        0
    ],
    "path_chooser_accelerator_string": "Tab",
    "path_chooser_auto_complete_enabled": true,
    "path_chooser_max_popup_rows": 20,
    "path_chooser_show_chooser_button_on_localhost": true,
    "path_chooser_show_hidden_files": false,
    "peer_tos": "0x00",
    "plugins_location": "/srv/deluge/.config/deluge/plugins",
    "pre_allocate_storage": false,
    "prioritize_first_last_pieces": false,
    "proxy": {
        "anonymous_mode": false,
        "force_proxy": false,
        "hostname": "",
        "password": "",
        "port": 8080,
        "proxy_hostnames": true,
        "proxy_peer_connections": true,
        "proxy_tracker_connections": true,
        "type": 0,
        "username": ""
    },
    "queue_new_to_top": false,
    "random_outgoing_ports": true,
    "random_port": false,
    "rate_limit_ip_overhead": false,
    "remove_seed_at_ratio": false,
    "seed_time_limit": -1,
    "seed_time_ratio_limit": -1.0,
    "send_info": false,
    "sequential_download": false,
    "share_ratio_limit": -1.0,
    "shared": false,
    "stop_seed_at_ratio": false,
    "stop_seed_ratio": 2.0,
    "super_seeding": false,
    "torrentfiles_location": "/srv/deluge/Downloads",
    "upnp": true,
    "utpex": true
}% 

Change History (0)

Note: See TracTickets for help on using tickets.