Why does it take X days to download file '* with size xxx MB?
Your line speed is just one of the limiting factors.
Your download speed and the time it takes to complete a download depend on many different factors.
Some of them are:
- Availability of the file
- The donkey network works in another way than many other networks. Files are split into "chunks" that can be downloaded from different sources (sources are users that have this specific "chunk" and share it). Therefore it is unusual that you download one file from just one user. This permitts you to download well spread files much faster than a single users upload speed. However this means that not all users have to have all chunks of the file you want to download. That's why some files download very fast in the beginning (a lot of sources for those chunks
- downloaded) and need a long time to complete (the last chunks are rare or even not available at all). Some users only connect from time to time and may just be the only ones that have your missing chunk or the only person that has all the chunks does not share this file anymore but it is still partially available on the network since people tried to download the file and still share the chunks they downloaded before the last full source (= source with all chunks) vanished. You can check if mldonkey found a full source by looking at the web-interface. In the download section you have a column called old. The first number shows the number of days you try to download the file (days since you added the file for download), the second number (after the colon ":") shows the number of days since mldonkey saw a full source. If there is a dash ("-"), mldonkey has yet to find a full source. This means that this file is probably no longer available on the net or at least not since you started downloading it. Usually files that got published on large donkey sites recently have an excellent availability and there should be a lot of full sources.
- Also, there exist some web sites indexing the files available on some networks (emugle.com, for instance) where you can look for files by their hash or name and find whether the file is shared full by no one. This isn't always fully reliable, though.
- Number of people trying to get the file
- Few sources and many people trying to get the file result in large queues. This means that you have to wait for a long time until you get a download slot or there are more sources available for this file.
- Time your mldonkey runs
- Sources are gathered from the network. This takes time. Connecting to sources and advancing in the queue takes time, too.
- This is the reason for mldonkey being somewhat slow in the beginning. Sit and wait at least one or two hours before complaining that the speed is too low. If possible stay online with the same IP for a longer time. Another problem is that many sources become invalid after a certain period of time (mostly DSL or dial-up users that have to reconnect and receive a new IP). That means that in case you did not use mldonkey for a longer period of time (one day or more) most of the sources stored by mldonkey have become invalid. When reconnecting shortly after you have been disconnected you will normally be able to keep your place in the queue since the client md4 is used for client identification rather than your IP.
- Line speed
- Line speed is of course on of the limiting factors, too. However as you may have read above there are other reasons for slow downloads. One important thing about your line speed is that in addition to the data of the files, protocol overhead (source discovery, server communication...) is sent, too. Additionally, your upstream might slow down your download. This sometimes happens on ADSL lines because response packets to sources are sent slowly and communication slows down.
- Sum (DL) = Sum (UL)
- A big problem for the network is that the total bytes downloaded has to be [less or (?)] equal to the total bytes uploaded. Now, a lot of people use ADSL, given the asymmetric nature of which, the average upload rate is always smaller than the download rate. And since every single bit downloaded has to be uploaded somewhere, the result is an overall limiting factor. An example might help: If 100 people had ADSL with 200KBits/sec upstream and 1000KBits/sec downstream, then everybody would be able to download at 200KBits/sec at most if all clients were treated equally.
- Furthermore, many people limit their client upload speed, which gets us to the same point.
- Be sure you do not restrict your uploads too much, many clients will send you next to nothing if they never receive anything from you. That enforces the DL = UL rule on each couple of peers or one might say, enforces file trading, thus increasing popular files popularity even more and making rare files even more harder to get. It does not encourage uploading in general, but instead uploading to people who have stuff you want.
- Ok I understood all of the above, it still takes forever...
- If you have run the program a few weeks, have quite a few files available for others and your upload (sending) is running at much higher speeds than your downloads, then:
- You may have your firewall misconfigured. This happens to advanced computer persons as well! Double-Check; WhatFirewallPortsToOpen
- You may have turned off OverNet? Check: OvernetDoesntWork
- You may have turned off kademelia? Kad Network
- If you have a lot of files to download: set the ones that you want most to a higher priority.
- If you have a lot of files to download, you may have too many. While this is now better in the newer (> 2.6) versions of mlnet; try to stay below 200.
- You may be blocking the donkey network with your bitttorrent (or other network) traffic. If you download a lot of bittorrent, then your upload ratio will decline. See the credit system above.
- You may have someone interfering. Download a anti-p2p blocklist or this one and save it as "guarding.p2p" in your mldonkey/mlnet directory. Then restart mlnet/mldonkey, or load the file with the command "set ip_blocking guarding.p2p". When loading a guarding.p2p file mldonkey may pause for a few minutes.
- If all that still does not work after a week, ask in the forums.
This is probably a very incomplete list but it might give you an
idea why mldonkey might seem slow to you.