Rtorrent: Limit for the number of downloading (freshly started) torrents

Created on 8 Aug 2016  路  3Comments  路  Source: rakshasa/rtorrent

When I have spare time I browse my RSS feeds and pick out a ton of interesting torrents. If I then add them all to the watchdir they will all start and fight for the limited bandwidth and disk IO. Since they all download in parallel each only gets a fraction of the speed and therefore it takes forever for any of them to start seeding. It would be nice if one could download the torrents one after the other, or two at a time. This would improve the caching and greatly reduce fragmentation on the FS. I propose the following:

1) a limit for the number of high speed leeches (num_high_speed_torrents)
2) a freshly started torrent is always considered high speed for a time (high_speed_time)
3) a torrent is downgraded to slow speed if the speed over some time is too low (high_speed_amount / high_speed_time)
4) a seeding torrent is not a high speed leech
5) torrents from the watchdir are not started if the high speed limit is reached

Note that this limits only torrents that have significant traffic and won't cause rtorrent to be blocked by having a number of dead or dead slow torrents active. I also don't suggest stopping already active torrents when other speed up. This is just about controlling new torrents.

Most helpful comment

consider this a feature request to have a queue manager

All 3 comments

Maybe it's a good idea (or not :) ), but you can have the same affect using a "queue manager", that only starts a predefined, adjustable number of torrents (e.g. 10). They will always max out your connection without giving any heavy burden to the system.

Such a queue manager is missing from rtorrent (for now? :) ) (although there's a scheduler.max_active setting, but its purpose is different and buggy as well), that means you have to implement it yourself or take a look at pyrotorque or this setup.

consider this a feature request to have a queue manager

If the "queue manager" will be ever implemented, it would be nice to have an event (e.g. event.download.start , not "started") that can trigger sync command/script before (not after) starting a torrent (e.g. creating free space by deleting old torrents).
I'm not sure whether the currently existing event.download.resumed is good for this.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

vinz243 picture vinz243  路  4Comments

Bystroushaak picture Bystroushaak  路  4Comments

dirtycajunrice picture dirtycajunrice  路  6Comments

rezad1393 picture rezad1393  路  6Comments

legrostdg picture legrostdg  路  5Comments