-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Download speed issue #125
Comments
A few clarifying questions:
|
Okay, so i'm using 5.6.1 version of librqbit. i've also tested on both 4.0 and 5.0 and download speed stays in same ranges so it's probably not related to recent changes. Can confirm same thing happend on pre-built executable (5.6.1) and rqbit-desktop (5.6.1) As for the self-hosted torrent tracker & seed, i'm using two separate remote ubuntu 22.04 machines. Tracker is running on the first machine in quoorex/bittorrent-tracker container and seed is running in linuxserver/transmission container on the second one. Both use network_mode: host |
I have a suspicion that 0.5 MiB/s speed happens due to multiple file ~300 being downloaded instead of one |
How can I repro this? Here's how I test localhost to localhost torrents: cargo run --release -- --disable-dht download -o /tmp/test/ /tmp/test.torrent --disable-trackers --initial-peers 127.0.0.1:27311 --overwrite where /tmp/test.torrent is a torrent generated by another client on localhost, and 27311 is that client's TCP listen port. |
Tested on a Windows VM, got ~100mb/s in the VM with the above method. |
Here's torrent file of Ubuntu i'm also using https://drive.google.com/file/d/1iVLPJH2c_RMUuIIj_6dE_Yt_mihe5jC3 I've also noticed that qBittorrent shows 30 seeds and number doesn't change over time while rqbit has around 20 (if "live" equals seed count) and it's constantly drops and raises. For example, it shows "live: 12" on start, a minute later it shows "live: 20" which drops to 6 the next minute. Not really sure what's happening. The higher the value "live" has, the higher the download speed i get |
There are a few things at play here:
|
Just switched to bugfix branch and peer count change is fixed for sure. It also looks legit after you mentioned μTP (totally forgot about it) Here's the second torrent file i'm struggling with (1 seed 1 tracker): It should have the exact same download speed as previous one but it 10 times worse and capped (unless there're some options/flags which applies in librqbit) |
I can't connect to the lone peer so can't repro. But if that's you seeding from some other client, please try another one and see if it helps. Btw found another bug while was debugging this - apparently trackers aren't even polled if DHT is enabled. That is also appeared after a fairly recent refactor. Can you check #127? Maybe that was the culprit, as the only other client that rqbit was discovering was itself over DHT. |
Also to validate it's not the tracker polling code, can you please check with "--initial-peers" passed in explicitly like I provided in the example above |
I had some issues with peer ports on my side. Could you try one more time? |
It's downloading, but slowly, uploading faster than downloading ↓0.18 MiB/s, ↑0.86 MiB/s If there is any throttling, it's done by the other side. I also tried qBittorrent to see if that is faster, but it didn't download anything at all somehow |
0.86 - that's probably was me. But still 0.86 is higher than download speed we get. I'll try changing machine |
So i moved my stuff to a completely different provider. I replaced tracker image to lednerb/opentracker-docker in process. Changing tracker increased download speed somehow for my colleague however in qBit only. rqbit don't want to raise speed higher than 0.6. Here's the most recent torrent file Don't mind one offline tracker, it's previous one |
It's 0.50Mb/s download speed for me. It's actually very stable at that speed. Note, the tracker itself doesn't matter, cause all it's needed for is to discover the peer (ip:port combination). It's the peer that is sending data, not the tracker. So replacing the tracker wouldn't have done anything. It shows this peer: kind: Transmission, version: ['4', '0', '5', '0'] Maybe on that peer you have a bandwidth limit set? Try changing it to another client e.g. qBittorrent. |
Yeah, i've noticed it's too much stable as well. I'll try changing client instead |
Good news. Swapping seed's docker image with qbittorrent increased speed significantly. Either changes not applying or i did something with my setup idk. For now, download speed is pretty decent and still much better than 0.5 mbps I'll double check some things before giving the final response |
Okay, so problem is partially solved, at least for the ubuntu torrent i posted earlier. Download speed is accurate here. |
Is there a chance qbittorrent sees more peers? As mentioned before, there's nothing limiting in that code path, and it easily hits hundreds of mb/s if peers can send so fast |
Turned out there were multiple issues which affect download speed. One of them is ping-related and it's being solved here #130. Another one is related to low write speed of the disc which slowed down a whole process. Hope it'll be fixed soon |
For some reason i'm getting around 6 MiB/s when running example (ubuntu distro magnet link)
Self-hosted solutions (running 1 torrent seed via transmission-remote & 1 torrent tracker) shows even lower numbers: it's getting capped to 0.5 MiB/s
Using qBitTorrent client instead shows around 11 MiB/s for both. It was an attempt of using librqbit 5.6.1 with tauri.
Here's tauri info in case it helps:
[✔] Environment
- OS: Windows 10.0.22621 X64
✔ WebView2: 119.0.2151.58
✔ MSVC: Visual Studio Community 2022
✔ rustc: 1.77.2 (25ef9e3d8 2024-04-09)
✔ cargo: 1.77.2 (e52e36006 2024-03-26)
✔ rustup: 1.27.0 (bbb9276d2 2024-03-08)
✔ Rust toolchain: stable-x86_64-pc-windows-msvc (default)
- node: 18.18.0
- pnpm: 8.14.0
- yarn: 1.22.21
- npm: 10.5.0
[-] Packages
- tauri [RUST]: 1.6.1
- tauri-build [RUST]: 1.5.1
- wry [RUST]: 0.24.7
- tao [RUST]: 0.16.8
- @tauri-apps/api [NPM]: 1.5.3
- @tauri-apps/cli [NPM]: 1.5.11
The text was updated successfully, but these errors were encountered: