qbittorrent / qBittorrent

qBittorrent BitTorrent client
https://www.qbittorrent.org
Other
26.92k stars 3.88k forks source link

qbittorrent-nox 4.5.2 slow download speed #18804

Open gnusuari0 opened 1 year ago

gnusuari0 commented 1 year ago

qBittorrent & operating system versions

qBittorrent: 4.5.2 Operating system: Debian GNU/Linux 11 (bullseye) Qt: 6.4.3 libtorrent-rasterbar: 2.0.8

All compiled from source on the same host it is executing. The machine has 12 GiB of RAM and the processor is an Athlon 5150. No changes where made to the machine from one release of qBittorrent to another.

What is the problem?

It's slower than branch 4.3.x. This has been happening since I upgraded to branch 4.4.x in may 2022. I didn't say anything hoping it would get solved with newer releases.

Steps to reproduce

  1. Download torrent.
  2. Upload it to qBittorrent through the WebUI.
  3. Watch how it is downloading slower than with older versions.

It has gone from around 40-50 MiB/s on a 600 Mbps connection to a maximum of around 20 MiB/s on a 1 Gbps connection.

Additional context

Captura de pantalla de 2023-04-05 02-34-14 Captura de pantalla de 2023-04-05 02-34-24 Captura de pantalla de 2023-04-05 02-35-28 Captura de pantalla de 2023-04-05 02-35-39 Captura de pantalla de 2023-04-05 02-35-53

I have also sampled the download of an Ubuntu ISO with Linux perf: https://drive.proton.me/urls/ZD818WQPAW#7bE6cyeAdclR

Log(s) & preferences file(s)

watched_folders.txt qBittorrent.txt

gnusuari0 commented 1 year ago

I tested with both branches of libtorrent. Now I have tested both static binary versions from the repository you have linked and both get the same download bandwidth with the Ubuntu ISO's torrent, around 10-15 MiB/s.

In the flamegraph obtained with the trace I linked in the report above, the main thread is saturated, becoming a bottleneck. It's a problem for slow CPUs such as the one in the machine I use. I've got 65 torrents seeding.

userdocs commented 1 year ago

You can try these 4.3.9 builds with modern dependencies

https://github.com/userdocs/qbittorrent-nox-static-legacy/releases/tag/release-4.3.9_v1.2.18

Against builds of the time

https://github.com/userdocs/qbittorrent-nox-static/releases/tag/release-4.3.9_v1.2.15

gnusuari0 commented 1 year ago

Thanks for your suggestion. Maybe I'll check it later. I have downloaded a torrent a few minutes ago and to my surprise it reached 60 MiB/s. An improvement but still incapable of saturating the bandwidth of my connection and the WebUI continues to freeze when achieving a bandwidth higher than around 15 MiB/s.

I haven't modified anything on the machine. I wonder if the ISP has been playing with protocol throttling.

You can try these 4.3.9 builds with modern dependencies

https://github.com/userdocs/qbittorrent-nox-static-legacy/releases/tag/release-4.3.9_v1.2.18

Against builds of the time

https://github.com/userdocs/qbittorrent-nox-static/releases/tag/release-4.3.9_v1.2.15

Rodancoci commented 1 year ago

I am experiencing a similar issue under Arch Linux. It is very curious as I double boot with Windows 10. qBittorrent can easily reach up to 25MB/s under Windows 10 but struggles to get past 2MB/s on Linux.

ewwhash commented 1 year ago

I am experiencing a similar issue under Arch Linux. It is very curious as I double boot with Windows 10. qBittorrent can easily reach up to 25MB/s under Windows 10 but struggles to get past 2MB/s on Linux.

Same, but with qbittorrent-nox. The desktop version can easily reach up to 25MB/s, and but the web version is kinda slow...

Rodancoci commented 1 year ago

I just compared the libtorrent settings that come by default on the Windows version of qBittorrent to those of the Linux version and found something curious. On Linux, by default, File Pool Size is set to 40, whereas it is set to 5000 on Windows. Setting it to 5000 on Linux let me achieve a download speed of 18MB/s. Setting the Hashing Threads option to the number of supported threads on my CPU also increased the download speed a little bit.

Rodancoci commented 1 year ago

@Rodancoci

Nothing strange if you haven't ever reset your settings and if qBittorrent doesn't silently ever reset any.

Latest v4.6.0RC2 has new default File Pool size: 100.

Did you use qBit with libtorrent v1.2 or v2.0 on both OS?

I did a fresh install on Windows a couple of days ago and have been using it on Linux for years now. I distinctly remember noticing a steep reduction in download speed on Linux when qBittorrent 4.5.0 released along with libtorrent 2.0 and I didn't change any settings back then.

glassez commented 1 year ago

setting File Pool to 100 or 40 doesn't help

IIRC, the problem was because of File pool size 40 which is too low.

BastionNtB commented 11 months ago

I am experiencing slow downloads and upload speeds with the latest qBittorrent-nox v4.5.5 using the qbittorrent-nox build script with all modules installed.

`

qBittorrent was built with the following libraries:

Qt: | 5.15.10 -- | -- Libtorrent: | 2.0.9.0 Boost: | 1.83.0 OpenSSL: | 3.1.3 zlib: | 1.3.0.zlib-ng` I can't get past 10MiB/s download total, or 60KiB/s upload. No matter how many peers I am connecting too. I have rebuilt qbittorrent from the ground up, redoing the config and everything. I can't get it working properly. I add a single torrent from say Linuxtracker, and I get get easily 80MiB/s from just 27 peers on my windows box. Something isn't right. I add the same torrent, same network, just on a linux box with qbittorrent-nox, and it's all choked.
BastionNtB commented 11 months ago

I rebuilt qbittorrent-nox-static with libtorrent 1.2, it fixed the download, but the upload is still below 1MiB/s

leapyear1969 commented 4 months ago

same thing happens here, i am using v4.5.2 web UI, the speed only 2m/s, however, on my desktop the speed is 60M/S

roylaprattep commented 1 week ago

YUP. +1 here. Version 4.5.2.

Deluge (Headless) = 100MB/sec qBittorrent-nox = 10MB/sec

There is clearly a problem here... Since a long time I heard...

Maybe take a look at the Deluge plugin that can enable "Performance seed" preset by modifying libtorrent configuration, if you need help understanding what you are doing. That's a shame that you are doing nothing. Probably super easy to solve by modifying current default libtorrent settings.