qbittorrent / qBittorrent

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

Allow having a seeding priority order just like download priority order. #2008

Open brunoais opened 10 years ago

brunoais commented 10 years ago

The idea here is to allow queuing the seeding tasks by priority.

There can be situations when you want to favor some torrents when there are leechers and you want to fallback to other torrents only when you are not uploading in the "main" torrents. The idea here is to allow just that. By ordering the seeding torrents by priority, the number of stalled torrents may be reduced if you have a large list of seeds to choose from.

I've been noticing that when a torrent is stalled, qBittorrent has not been contacting the tracker to check if there are new leechers to seed to. As far as I can tell, as long as it doesn't make too many connections, it should contact them to get the leecher's list and then follow the priority list to select which torrents should be seeded and move to the next ones if they have no leechers or if the leechers are not answering (while repeating the process from time to time).

brunoais commented 9 years ago

Comments please

chrishirst commented 9 years ago

qBittorrent has not been contacting the tracker to check if there are new leechers to seed to

What version and OS???

libtorrent, the bittorrent protocol engine use in qBT gives seeding tasks a queue number of -1 so they all have the same 'priority'.

http://www.rasterbar.com/products/libtorrent/manual.html#queuing

brunoais commented 9 years ago

Ah, OK. So this is a limitation of libtorrent, correct?

chrishirst commented 9 years ago

Not really a 'limitation' as such, it simply isn't implemented and I don't know of a BT client that does have queue priorities for seeding jobs.

brunoais commented 9 years ago

oh. OK.

ghost commented 9 years ago

Definitely a great feature, I often find myself wanting to prioritize the seeding of specific torrents and I am forced to pause the "least important" ones. While not exactly what you're describing , bandwidth allocation (high/medium/low) in utorrent/bittorrent comes closest to this.

ifmihai commented 8 years ago

@ghost exactly my thoughts on this.

Maybe a time allocation would be easier to implement, without the user needing to do the pausing

SparKot commented 6 years ago

qBittorrent v4.0.4 x64 Linux

I would like to seed every torrent I download to 1.33 ratio : addressed by ratio limits But, I often seed torrents with less than 4 peers/seeds. It would be nice to have seeding priority that are exempt from ratio-limits.

csis0247 commented 6 years ago

In my case, I have a couple of "strong" torrents, some of them are able to saturate my entire bandwidth during peak hours and overwhelm my weaker torrents (such that they have zero upload speed, despite seeing many connected leeches). I wouldn't know which of the strong torrents will saturate my bandwidth, so if I were to set bandwidth limit to let the weaker torrents breathe, I would have to limit all the strong torrents. But then during non-peak hours, most of my bandwidth will be idle because I have limited my stronger torrents.

So you see, enabling a seeding priority can benefit weaker torrents with a small number of seeds a lot during peak hours, while allowing more bandwidth for stronger torrents during non-peak hours.

nauip commented 5 years ago

It's amazing that this still isn't a thing. The most mind-boggling is that torrents with 0 seeds don't automatically start. They're just in the mix of torrent-priority-mystery-box.

brunoais commented 5 years ago

@nauip Tell that to libtorrent devs, not qBt. These developers develop the whole interface around the library but not the library itself

cyphix333 commented 5 years ago

I'm also interested at how it decides which torrents to seed over others?

dmarquinez commented 4 years ago

This is a good idea for a new feature.

telephoton commented 4 years ago

This is a good idea. If there are certain seeds that I have prioritized, I want to shut off all others that impede the seeding of the highest priority seed. I want the maximum upload rate for the highest priority seed. I don't care if it's clunky or doesn't account for variable/inconsistent packet transfer. If there is a peer/leecher trying to download the highest priority seed, that is the only one I want to seed, THEN on down the list of seeding priority.

EDIT: Obviously this wouldn't be a default feature because it restricts the efficiency of the torrenting network in general if the average person who downloads the qBittorrent client applies this proposed feature to their seeds, but it would be nice for people like me who want more control over torrenting/seeding.

Seeker2 commented 4 years ago

There's multiple kinds of priority a seeding torrent could be given. What's talked about here is mostly torrent-level priority.

But if 1 super-busy seeding torrent has 50+ peers and all the others have only 0 to 2 then if the super-busy seeding torrent is active as a result of this...the other torrents may have 0 upload even if they have connected peer/s and are considered "active" as well.

Limiting upload slots per torrent to a low number can help in this case, but then there can be long periods of time (like 10+ mins to hours) where the upload slots are choosing (very?) slow peers...leaving lots of upload speed unused...while other peers get nothing.

A global upload slot maximum can help deal with that problem, but still risks leaving upload speed unused.

So the number of upload slots each torrent gets almost needs to be variable based on both priority and conditions to work well. ...AND upload speed per upload slot may need to change as well whether it's to a high-priority torrent or a low one.

Lastly, when some torrents are downloading while others are seeding...there needs to be a way to prioritize seeding tasks higher or lower than downloading torrents. (depending on desired outcome)

zachoooo commented 3 years ago

I agree this would be a great feature to have!

Lagicrus commented 3 years ago

Anyone know of any updates with this or contacted devs in relation to this?

Pentaphon commented 1 year ago

Isn't this an upstream libtorrent issue?

glassez commented 1 year ago

Isn't this an upstream libtorrent issue?

Sure.

tv8tony commented 4 months ago

for any one who came here looking for this it is answered here https://github.com/arvidn/libtorrent/issues/307
the short is it is already being done in the background
quote from arvidn "for auto managed torrents that are seeding, there is prioritization based on the number of peers and seeds on the swarm, prioritizing torrents with a high peer:seed ratio. In libtorrent this is called seed rank. A higher rank means more likely to be seeded."