#1
|
|||
|
|||
Speed limit spreads out across hosters?
I hope I can explain this properly.
I've been having an issue where a specific hoster downloads too quickly and overloads my connection. So I started using the speed limit option. The issue is, instead of limiting the download speed for the total bandwidth used by JD, it appears to "spread out" the throttling across multiple downloads. For e.g. let's say I set the speed limit to 1MB/s. -If I download from that 1 hoster, it limits the speed to 1MB and everything is fine. -But if I download from another slower hoster, Or even download another file from the same hoster, instead of limiting the total speed, it appears to throttle each individual download by a percentage of the number of current downloads. So if I had a download from 1 slow hoster (e.g. max 10K/s) & 1 fast hoster (the one causing the overload), it should download at the max speed of the slow hoster and using the rest of the bandwidth on the fast one, ie a 10K/990K split with the 1MB limit. But what I'm seeing is that it takes the speed limit and splits it by the number of downloads. So the 1MB limit sets a limit of 500K per download if I have 2 simultaneous downloads. In this case, instead of a 10K/90K split, I get a 10K/500K split with 490K in bandwidth unused. It becomes worse with more simultaneous downloads, e.g. If I had 1 fast download and 4 slow (10K) downloads, the split becomes 200/200/200/200/200 with a resulting download of 10/10/10/10/200, meaning I have 760K in unused bandwidth. I tried upping the speed limit, but even if I go past the limit I want to keep it under, the overall speed changes at a much slower pace. In the attached image, I am downloading 3 files from a hoster that can download at @2MB/s but it's still not letting me hit the desired 1MB speed. Sorry if this sounds confusing as it's hard to explain with text. tl;dr It appears that if you set a speed limit when you have multiple downloads, it's throttling the individual downloads instead of the total bandwidth. Is there any way to make it throttle the total, combined speed instead of the individual downloads? Thanks! |
#2
|
||||
|
||||
JDownloader uses a static speed limiter at the moment. Assign (GlobalSpeedLimit/concurrent number of Downloads) to each Download and then (DownloadSpeedLimit/number of Connections) to each Connection. What you have in mind is not that easy, because there are several problems -JDownloader can only limit the receive side of the connection. Limiting means not accepting incoming data as fast as possible but with little pause/delay which will cause the sender to throttle the sending speed over time -JDownloader has no information about the *max speed capatibility* of a connection. JDownloader doesn't know if 10kb/s is the max speed or just *at the moment*. Now imagine you allow 990kb/s for the fast connection, then the slower one will not be able to get higher speed even if the server would be able to deliver higher speeds. We need a good algorithm that is able to limit speed for fast connections, dynamically assign speed limits over fast/slow connections and auto-learn the (current) max speed capatibility of a single connection. I'm open to ideas
__________________
JD-Dev & Server-Admin |
Thread Tools | |
Display Modes | |
|
|