JDownloader Community - Appwork GmbH
 

Notices

Reply
 
Thread Tools Display Modes
  #1  
Old 16.05.2015, 15:07
faceless
Guest
 
Posts: n/a
Default How JD chooses which mirror it uses?

Hi,

I tried searching for a previous thread but I was unable to find one. So here goes:

How does JD2beta choose which mirror it uses? It seems completely random to me. JD1 picked the topmost mirror on the download list and tried it first, then it moved to the next one on the list, etc....

Is there any way to set preference on what mirror JD2beta chooses to try first? I would consider returning to previous JD1 behavior an improvement (i.e. try mirrors based on the order they appear in the download list).
Reply With Quote
  #2  
Old 16.05.2015, 15:21
raztoki's Avatar
raztoki raztoki is offline
English Supporter
 
Join Date: Apr 2010
Location: Australia
Posts: 17,611
Default

mirror is chosen based on a series of evaluations at the core.

* = download candidate (to see these different types, see account manager > usage rules tab)

premium account*
- candidate can be used && account enabled && account has traffic && hasCaptcha && hasAutoCaptcha
free account*
- candidate can be used && account enabled && account has traffic && hasCaptcha && hasAutoCaptcha
free non account*
- candidate can be used && hasCaptcha && hasAutoCaptcha

download queue is first tried based on
1) priority setting within downloadlink (set by packagiser, or user) <highest to lowest>, if all are the same level then treated equally.
2) account hoster download (accounts with unlimited traffic I think are preferred, to account with traffic figure, if all accounts have traffic, the most available is used first)
3) if has captcha/auto captcha
4) any IP restrictions (mainly free users, but can apply to account users also)

Not sure with 1 or 2, they could be inverted.

I haven't looked into this heavily though I believe this is how its works. Jiaz is best to comment on this!

raztoki
__________________
raztoki @ jDownloader reporter/developer
http://svn.jdownloader.org/users/170

Don't fight the system, use it to your advantage. :]
Reply With Quote
  #3  
Old 16.05.2015, 18:17
faceless
Guest
 
Posts: n/a
Default

Quote:
Originally Posted by raztoki View Post
mirror is chosen based on a series of evaluations at the core.
...
raztoki
Seems pretty complicated. Is there any way to manually override the selection (i.e. try this hoster first, then move to this one, etc...)?
Reply With Quote
  #4  
Old 17.05.2015, 11:06
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,286
Default

JD will first find the next link. Here it takes in count the order/priority/forced state/waiting times/limits. In next step it finds mirrors to the link and then chooses best one of them (no waiting times, no captcha, premium if available)

So when you do not use mirrors, the order should be 1:1 the same as JD1
Please note that when you sort/filter the list it does NOT show the actual order of links that JD will check/try them. When a column has colored background -> you are in filtered/sorted view.

JD1: click on column header sorted the complete links
JD2: click on column header only sorts the VIEW, not the links
__________________
JD-Dev & Server-Admin
Reply With Quote
  #5  
Old 17.05.2015, 12:46
faceless
Guest
 
Posts: n/a
Default

Quote:
Originally Posted by Jiaz View Post
JD will first find the next link. Here it takes in count the order/priority/forced state/waiting times/limits. In next step it finds mirrors to the link and then chooses best one of them (no waiting times, no captcha, premium if available)
And in here lies the problem. When JD is choosing the mirror, it leaves out a key factor from the decision making:host download speed. For example, JD chooses mirror A (100 kB/s) over mirror B (2-5 MB/s) just to avoid 1 minute waiting time. A rather annoying illogical choice, especially with large files. Or in order to just avoid captchas, JD chooces mirror C (30 kB/s, no captchas) over mirror D (4-5 MB/s, captchas). A clear example of another bad decision.

So in other words: JD should prefer over 10 times faster hosts with short waiting times and/or captchas over slow hosts with no waiting time and/or captchas.

This is why I would prefer JD to choose the mirrors based on the order I put them in stead of just trying to figure out the right one based on bad logic.

Quote:
Originally Posted by Jiaz View Post
So when you do not use mirrors, the order should be 1:1 the same as JD1
Please note that when you sort/filter the list it does NOT show the actual order of links that JD will check/try them. When a column has colored background -> you are in filtered/sorted view.

JD1: click on column header sorted the complete links
JD2: click on column header only sorts the VIEW, not the links
Yes, I'm well aware of this difference. That is not the problem.
Reply With Quote
  #6  
Old 17.05.2015, 13:20
raztoki's Avatar
raztoki raztoki is offline
English Supporter
 
Join Date: Apr 2010
Location: Australia
Posts: 17,611
Default

And this is why the package customiser was created. Please create a rule that ranks based on your experiences/preferred rankings.
Settings > Packagiser
create package customiser rules and set higher (rank) priorities to hosters that have higher speeds.
__________________
raztoki @ jDownloader reporter/developer
http://svn.jdownloader.org/users/170

Don't fight the system, use it to your advantage. :]
Reply With Quote
  #7  
Old 17.05.2015, 15:55
faceless
Guest
 
Posts: n/a
Default

Quote:
Originally Posted by raztoki View Post
And this is why the package customiser was created. Please create a rule that ranks based on your experiences/preferred rankings.
Settings > Packagiser
create package customiser rules and set higher (rank) priorities to hosters that have higher speeds.
I did try manually setting higher priority before, but it didn't have the desired affect on what mirror it JD chooses.

Anyway, I decided to try it again with packagiser. I created a rule that sets my preferred hosts to highest priority and any other host to lower priority. And still JD chooses a slow host with lower priority over a fast host with highest priority.:confused:
Reply With Quote
  #8  
Old 17.05.2015, 15:59
raztoki's Avatar
raztoki raztoki is offline
English Supporter
 
Join Date: Apr 2010
Location: Australia
Posts: 17,611
Default

are you sure that there aren't any wait times (IP limit) pending ?
__________________
raztoki @ jDownloader reporter/developer
http://svn.jdownloader.org/users/170

Don't fight the system, use it to your advantage. :]
Reply With Quote
  #9  
Old 17.05.2015, 16:08
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,286
Default

I will think about a simple solution to this. Yes you are right that speed is a factor not used in mirror decision. A very simple solution would be to disable mirror handling. Then JD will only use position/priority for candidate selection. Another possible solution would be to use priority as well for mirrors. then you could create packagizer rule to increase priority of your preferred host and jd will respect your choice in priority too. Or maybe add another settings tab where you can add hoster names and sort them to wished hoster list.
__________________
JD-Dev & Server-Admin
Reply With Quote
  #10  
Old 17.05.2015, 16:22
raztoki's Avatar
raztoki raztoki is offline
English Supporter
 
Join Date: Apr 2010
Location: Australia
Posts: 17,611
Default

or we create db of the average download speed for given host, prefer hosts with higher values. only problem with this is, users downloading many sim*chunks will/could negatively influence history.
__________________
raztoki @ jDownloader reporter/developer
http://svn.jdownloader.org/users/170

Don't fight the system, use it to your advantage. :]
Reply With Quote
  #11  
Old 17.05.2015, 21:51
faceless
Guest
 
Posts: n/a
Default

Quote:
Originally Posted by Jiaz View Post
I will think about a simple solution to this. Yes you are right that speed is a factor not used in mirror decision. A very simple solution would be to disable mirror handling. Then JD will only use position/priority for candidate selection. Another possible solution would be to use priority as well for mirrors. then you could create packagizer rule to increase priority of your preferred host and jd will respect your choice in priority too. Or maybe add another settings tab where you can add hoster names and sort them to wished hoster list.
Good suggestions, all of which would solve this problem. The first one sounds like easiest and simplest to implement, thus it's my personal favourite. The third one comes close second. I hope one of them will get implemented.

Quote:
Originally Posted by raztoki View Post
are you sure that there aren't any wait times (IP limit) pending ?
No, there weren't any IP limit waiting times. Just the short wait time before download start.

Quote:
Originally Posted by raztoki View Post
or we create db of the average download speed for given host, prefer hosts with higher values. only problem with this is, users downloading many sim*chunks will/could negatively influence history.
This is not my personal favourite solution. The risks of getting bad average values is the main reason for this. And the speed some times can vary quite a lot with the same host.
Reply With Quote
  #12  
Old 18.05.2015, 11:56
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,286
Default


__________________
JD-Dev & Server-Admin
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +2. The time now is 16:26.
Provided By AppWork GmbH | Privacy | Imprint
Parts of the Design are used from Kirsch designed by Andrew & Austin
Powered by vBulletin® Version 3.8.10 Beta 1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.