Variable Speedlimits

Discuss suggestions and ideas for the forums, site, software.
Post Reply
varona

Variable Speedlimits

Post by varona »

Firstly, i am wondering why it is not already implemented.
Instead of hard limits peer torrent you could give soft limits for torrents. For clients with fluctuating loads.
When your whole client is idle. Every torrent can use up to 100% bandwidth.
The variable rules are active, when your bandwidth is used from 80%-100%.
Torrent A is without limit and torrent B has max 20% bandwidth.

This could also go beyond variable torrents, to variable labels if you want to organize a lot of torrents.

I am seeding a lot of torrents. some torrents are active but the most are not.
Mostly new torrents are more active. I want to seed also the old torrents under circumstances which don't hinder the new torrents to much.
So i make a global speed limit 10MB. Label A: no limit and B: max 30% bandwidth.
The example:
client is idle - every torrent from every label can use 100% bandwidth.
client is under load - torrents from label B are sharing 30% of bandwidth.

With this function, some torrents could live longer.
Last edited by varona on Sat Dec 24, 2016 1:45 am, edited 1 time in total.
KitKat

Re: Variable Speedlimits

Post by KitKat »

The problem comes into how the client chokes/unchokes peers.

It is possible to do a percentage based limitation based on a globally set "maximum speed limit" (said max speed limit already exists)
But the complication comes in here, how does the client know when it needs to choke/unchoke a particular torrent to apply a variable speed limit!?
And how would it know which torrent it needs to unchoke to get the speed back up, p2p systems are not stable or predictable, a"detected(somehow..) fast peer could leave after you unchoke the torrent/choke the other one.
A fast peer could join the torrent you just choked, and you'd never know.


If you want "variable" speedlimits then just set a global speedlimit and leave the per-torrent speed limits unchecked!?

I may be misunderstanding in regards to the above, but i definantly agree that limiting based on labels would be an excellent management feature to add to qbittorrent.
The contributers/maintainers prefer wishlist/suggestion threads to be made through the github by the way.
https://github.com/qbittorrent/qBittorrent/
Last edited by KitKat on Thu Dec 22, 2016 1:01 pm, edited 1 time in total.
Switeck

Re: Variable Speedlimits

Post by Switeck »

uTP is supposed to automatically back-off speeds if it senses increasing pings/lag/packetloss...and ALSO proportionally throttle back TCP peer/seed connections as well.
(It does the TCP throttling too aggressively probably tho.)

Counting overheads in the speed limits also handles much of the reason for throttling back.

uTorrent had priority levels for each torrent (High, Normal, Low)...but it didn't do very well at very low or high speeds...or when the "High" torrent only had 1-4 seeds+peers while the "Low" torrent had 100+.
varona

Re: Variable Speedlimits

Post by varona »

Well, my biggest point is the variable speed limits.
so that even if you did say to a torrent "hey slow down i have other torrents to seed"
after a while when your client is idle, even this torrent can use your full bandwidth. without me to remove his speed limit.

I made a issue in github, i hope the devs understand my idea
https://github.com/qbittorrent/qBittorrent/issues/6123

@kitkat
Well, i thought variable torrents were the first step of implementation and variable labels the second..
It looks like the devs don't like the idea of labels combined with more features
https://github.com/qbittorrent/qBittorrent/issues/590 a wish from 15 Apr 2013

Edit:
soft speed limits is also a good name :D
Last edited by varona on Sat Dec 24, 2016 1:40 am, edited 1 time in total.
Post Reply