Author Topic: Some settings questions  (Read 407 times)

Hime0698

  • Newbie
  • *
  • Posts: 5
  • Karma: +0/-0
    • View Profile
Some settings questions
« on: April 07, 2019, 05:56:09 am »
Hi Ive got a couple of settings based questions.

What should I set upload slots behavior to for best performance?

What should I set uTP-TCP mixed mode algorithm to for best performance?

Are there any important settings to change from default to increase performance?

Just trying to squeeze as much as I can out of the client lol.

Switeck

  • Forum addict
  • ****
  • Posts: 1469
  • Karma: +93/-0
    • View Profile
Re: Some settings questions
« Reply #1 on: April 07, 2019, 07:12:35 am »
Upload slots behavior may not work correctly as anything other than fixed, but even fixed will be terrible if you allow so many upload slots that they average <0.5 KB/sec each.
What I've tested is only fixed, which even at best was disappointing compared to uTorrent.
Upload slots usage is even more terrible if you limit torrents to 1 upload slot each or global upload slots to 1. Slow peers could trickle-download from you at sub KB/sec speeds for hours (while connected fast peers wait and get nothing) and waste 90+% of your potential upload speed.

uTP-TCP mixed mode algorithm should probably be set to "Prefer TCP" because uTP has poor performance in qBitTorrent (which uses libtorrent). uTP connections suffer about 5-25% additional packet loss on top of any other networking issues.
Disabling uTP prevents connecting to probably at least half of all peers+seeds. Probably quicker on busy torrents, but slower on torrents with few peers+seeds.


For other settings...
I can't tell if your internet connection is the equivalent of a car, truck, jet,  freight train, or massive cargo ship.
Settings for each might vary a bit.

Best values for max connections per torrent depends greatly on whether you're seeding or downloading most of the time as well as where you're getting torrents from.
Private trackers that are overseeded and almost lacking peers... 20 connections per torrent might hit max download speed with a single torrent. Lots of packet loss happens when too many are trying to upload to a slow connection at once.

The transition to seeding from downloading on very busy torrents can be abrupt and "bumpy" -- going from connected to 90 seeds and 10 peers (with 100 connections max per torrent) to quickly filling up with 100 peers once a seed...while the number of upload slots remains the same. With 4 upload slots per torrent, the number of connected but "unhappy" peers went from 6 to 96!

[Wishlist] Alternate connections per torrent while seeding - Upload Slots per SEEDING torrent limit!   Milestone:  qBitTorrent v3.2.1
https://github.com/qbittorrent/qBittorrent/issues/2193

Global max upload slots is painfully dependent on max sustainable upload speeds, which can be much lower while downloading than only seeding.

Easy enough to measure global max upload slots to use -- take max upload speed and divide by desired average speed per upload slot.
1000 KB/sec upload divided by 10 KB/sec per upload slot = 100 global max upload slots.
Few peers on public torrents will upload faster than 50 KB/sec per peer.
Lower than 3 KB/sec per upload slot badly harms download performance on torrents with low seed-to-peer ratios and many peers.
The goal here is to upload slightly faster than other peers so more peers upload to the fastest "giving" peer -- you!

Some "hidden" limiting factors may be your network or computer:
VPNs or proxies do not handle 100's of connections at once as well as a "naked" internet connection, everything else being equal.
Cable and ADSL internet connections often have tiny max upload speed relative to their max download speeds...and they often have cheap crap modems or worse all-in-one gateways that slow and/or crash under heavy use. (Intel Puma 6 cablemodem chipset debacle just being one of the latest examples!)
A single hard drive that has the OS on it and has to share 100+ active torrents at once simply can't spin fast enough to access all the little torrent pieces -- qBitTorrent's cache can be slightly larger to compensate but does semi-poorly and eats ~30% more ram for each cache size increase. (Not safe to set larger than 1000 MB for 32bit qBT or qBT can crash!)
64bit qBT with a max cache size can consume over 6 GB of ram by itself before Windows (or perhaps other OSes) also cache "recently accessed files" in ram as well!
Defragging hard drives with torrents on them can help slightly.

Seeding from a SSD is fast, but downloading to a SSD can degrade it quicker than almost any other use:
https://qbforums.shiki.hu/index.php/topic,2627.msg12725.html#msg12725

Hime0698

  • Newbie
  • *
  • Posts: 5
  • Karma: +0/-0
    • View Profile
Re: Some settings questions
« Reply #2 on: April 11, 2019, 04:25:02 am »
Thank you for the info, I appreciate the tips, still not an expert in libtorrent of the bittorrent protocol in general. I didn't even think about including internet speed in the original post idk why thats obviously important, but for what its worth I am on a 1000mbit/1000mbit fiber line, although my vpn slows that down quite a bit depending on server load, and my pfsense box starts straining a bit sometimes. Thanks again for the info, it seems Ive still got a lot to learn about the protocol and the application.

Switeck

  • Forum addict
  • ****
  • Posts: 1469
  • Karma: +93/-0
    • View Profile
Re: Some settings questions
« Reply #3 on: April 11, 2019, 09:15:13 pm »
"my vpn slows that down quite a bit depending on server load, and my pfsense box starts straining a bit sometimes"

Both could be overloaded on their CPUs -- so much networking stuff isn't multi-threaded to run on multiple CPU cores at once.
And 1 gbit/sec fiber with lots of connections is almost a "perfect storm" example for networking CPU loads.

Disk I/O near 1 gbit/sec speeds can also be extremely high -- more than any single HDD can manage, due to too many simultaneous requests for small reads/writes.
That's why I recommend putting a few very busy torrents on either a SSD (or even a ramdrive -- with backup copies still on HDDs) if they're small enough.

Another forum poster here, fusk, has a lot more experience with real-world use of gbit/sec Torrenting. Do a search for fusk's posts if you want to know more!

All mine is just from playing around over a LAN and running multiple BT clients on the same computer and letting them DL/UL to each other at CPU/RAM/motherboard speeds:
EXTREME Speed Tests of various BitTorrent Apps (over loopback/ Windows)
https://qbforums.shiki.hu/index.php/topic,3956.0.html