AMule is slow

From AMule Project FAQ
Revision as of 05:31, 14 May 2009 by Zanetu (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

English | Deutsch | Español | Français | Magyar | Italiano | Nederlands

aMule is slow

So aMule is slow? This can be:

Your fault

General guidelines

This is a list of issues which can be the reason for slow download speeds:

  • A low value in "Preferences"->"Download limit".
  • A low value in "Preferences"->"Upload limit". Upload limits under 4 kbps limit your download speed to 3 times your upload speed. Upload limits under 10 kbps limit your download speed to 4 times your upload speed. Upload limits above or equal to 10 kbps give you unlimited download speed, limited only by the "Download limit" preference value (read this link to know more about it).
  • A too high value in "Preferences"->"Upload limit". Your line may get congested! (depends on your line-speed)
  • A too low value in "Preferences"->"Max Connections". There are not enough connections available.
  • A too high value in "Preferences"->"Max Connections". Too many connections are congesting your line.
  • A too low value in "Core Tweaks"->"Max New Connections". It takes very long to aquire sources.
  • A too high value in "Core Tweaks"->"Max New Connections". Your line gets congested, many new connections produce much overhead-bandwidth.
  • Having a Low ID.
  • Some ISPs block or limit connections to the standard eD2k ports. Try changing the port in "Preferences"->"Connections" to some other values.
  • Some ISPs are going even further in their attempts to make their clients really unhappy with their "quality" of service. They're throttling speeds based on protocol classification. So, high-bandwidth protocols like ed2k and torrent may get severe impact on speeds. You may want to enable traffic obfuscation for outgoing connections - enable Use obfuscation for outgoing connections option. In worst cases you may also use Accept only obfuscated connections options if your ISP completely blocks ed2k. And consider using ISPs which prefer to improve their networks rather than fool thier customers with fake speeds declarations.
  • Your firewall may be blocking some ports/protocols used by aMule and/or you did not forward these ports in your router (again, see Low ID).

Congested downlink or uplink cures for ADSL

Many ADSL service providers set up their network so that routers buffer a lot of packets. This can cause severe performance problems; for example a congested uplink can cause a large reduction in downlink speeds too.

The problem is described in the WonderShaper page.

As a rule it is important that on ADSL neither the uplink nor the downlink be used at 100% capacity. Usually 90-95% is a good idea (taking into account overheads too, as a 576KiB/s line cannot actually transfer that much).

Therefore ensure that on 576 Kb down/288 Kb up ADSL line total download speed is at most 52KiB in download and 26KiB in upload.

If aMule is the only significant user of bandwidth, setting its maximum upload and download limits to somewhat lower than that, for example 42KiB/s for download and 21kiB/s for upload, does it.

Otherwise if you have GNU/Linux you can run a traffic shaper that will regulate the total traffic bandwidth. Two ready made shaper scripts are WonderShaper and sabishape.

Another useful but minor improvement is to ensure that there aren't too many upload connections with too small bandwidth. For example with a 21KiB/s upload limit, not more than 7 upload connections, with 3KiB/s each. Probably no more than 5 is a tiny bit better.

The network's fault

We hate to break this to you, but slow speeds aren't always due to bad aMule code or bad configuration. Some factors may include, but not limited to:

  • eD2k is a slow network; The eD2k network is one of the largest P2P networks in existance but its primary goal is archive availability. While you do get faster downloads with other popular networks you'll quickly find out that the eD2k network is home to millions of files you'll be unable to find on any other network.
  • Credits; If you are running aMule for the first time or if you deleted files in ~/.aMule directory, you'll have no credits. Credits grant faster downloads. If you don't know what they are, read this
  • File Availablity; Rare files, old files, extremly new files... these kinds of files have very few sources, so it takes more time for aMule to establish a connection with the few clients sharing it.
  • Large queues; eMule, as well as most of its offspring use large queues. aMule defaults to a queue size of 5,000. This ensures that users cannot cut in front of other clients by continuously re-asking the source (an inherent problem in the days before eMule). One must be willing to wait in line and that can, for a new client with no credits, take a long time. You might have to wait 2 weeks before a file is completed if, for example, there is only one source.
  • Not a really network fault but rather credit system behavior: if you share too many overpopular completed files, you may end up uploading almost only these files and very few useful uploads of files you're currently downloading. Hence, you will not get too much credits on remote clients which are useful for you and hence you may have low download speeds. aMule normally adjusts upload priority automatically so this effect should be somewhat limited but still may appear sometimes. You may want to lower upload priorities of overpopular completed files even more and boost upload priority of partially downloaded files higher. If you're suffering from this effect a way too much, you may even want to move away some overpopular files from shared folders. Please do so only if share ratio of file achieved values close to 1.0 or better to be fair. Moving away rare files makes little sense and only harms files availability. Do not do so. Technically, best possible speeds for huge files are usually achieved when you're sharing only what you're downloading, have very fast upload speed and there is lots of clients downloading same file as you do - uploading at big speeds to proper clients ensures that you will get downloads in return because of credit system. In real world your mileage may vary depending on settings, files and available upload bandwidth. Having dozen of rare files shared almost harmless (except some small overhead) since their uploads are rare and it makes network better. But sharing hundreds of completed overpopular files at once could be a bad idea sometimes. However, if you want to obtain good download speeds what really matters is a good upload bandwidth. Without good upload bandwidth you will not get too much credits regardless of any other actions. So if you can choose ISP, you may want to select ISP offering best upload speeds possible.
  • Check the network FAQ.