A day at the races: aria2 vs. axel

A couple of people have mentioned aria2 as an alternative to the in-house favorite here axel, and just to satisfy my own curiosity I decided to throw them into a pit and see which one is left standing. I can’t tell you what I expected to see happen, except maybe to learn about another option as a console-based download accelerator.


I think “accelerator” is the key word in this weight class, since neither one really really has the same functions as wget-queue.pl or fttps. I label those as “managers” and these as “accelerators,” purely based on their overall function. And really, you could probably insert one or both of those accelerators in the code of either of the managers, since I believe they otherwise rely on the die-hard wget to get the job done.

The only problem is, neither one really “accelerated” things for me — they both topped out my network connection to the same degree and for the same duration of time. For this mangled little experiment, I relied on the in-country University of Toyama mirrors for Ubuntu ISOs, a host that is usually so wicked fast that I can sometimes download files from there faster than I can get them between machines in my own house. No joke.

But both aria2 and axel simply pushed the needle all the way to the right, neither one forcing the download speed beyond what was already dictated by my out-of-date components. It was still pretty darned fast though. 😉

That means this comparison has to shift to features and approaches, and that’s where your own interests and proclivities will determine which one you prefer. So in that context, and as a brief and incomplete overview. …

  • axel can search for sites with apparently faster download rates, and distribute the workload between them. That might make some Web masters happy, since it means you’re not pounding their individual system for extended periods of time. No doubt you have your own opinion on that particular issue; it is a convenience though to find a server somewhere else on the planet with the same file, but faster response times.
  • aria2 can handle a variety of formats beyond a straightforward download link. Torrents, in particular, are very cool with aria2; of course it’s not a full-fledged client in that department, but doesn’t claim to be. Flexibility wins it points though, I admit. On the other hand, you might argue that axel follows the “Unix philosophy” in some sense or another.
  • Dependencywise, aria2 is a little heavier than axel, but that’s only to be expected since it technically can handle more than axel. axel weighs in at around 43Kb for its binary executable under Debian, while aria2c is a comparatively massive 2.7Mb. If you’re considering an out-of-date machine as the host, available memory might come into play, which means the size of the binary might be important.

Outside of those points you should probably delve in for yourself and see which one appeals to you. Like I said, on a fast connection to an in-country server neither could push speeds beyond what I usually see for the hardware. Both have features that the other might not; install, decide, enjoy. 🙂

6 thoughts on “A day at the races: aria2 vs. axel

  1. Pi

    Completely off topic, but nice use of a Marx Brothers movie in the title.

    On topic I can do no more than echo what you’ve already stated. I actually don’t use either anymore because with or without them I always seem to end up with about a 1mb d/l speed. I dunno, I may just be lucky..

  2. Pingback: Links 10/2/2010: KDE SC 4.4.0 and OpenOffice.org 3.2.0 Released | Boycott Novell

  3. Pingback: A Look at Axel « Vlad, Procrastinating

  4. Leonardo


    Sorry, but I think you comparison is a bit vague, because you do not compare features, you are only comparing platform fitness.
    I don’t know how it is at the present moment but when I tried axel, it was unable to handle files bigger than 4GB. Pass that, It haves no cookies support nor https support. http login neither.
    With aria2, for example, it is possible to download rapidshare files (with a premium account), either via –http-user/pass flag or via saved cookies; you can use a file to provide a highly configurable list of links (I mean, besides the link, you can provide in the file the md5 checksum so aria2 checks it automatically). To name only a few. OTOH, you are right, axel does a lot with so little code and it can use proxies too.

    Of course, as you said, we have to choose the one with fits best. For me is aria2.

  5. Ben

    Why would you test an ‘accelerator’ on a download which is already very fast?

    Generally I switch to use an accelerator when a download is coming in a bit slowly – for example in my browser, if something’s downloading at 40kb/sec and will take a long time, then I’ll test in a terminal to see if it will come faster and then cancel the browser download.

    Silly test if you ask me – next time find something that’s slow and see if it speeds up! My connection will go to 700kb/sec, and I’ve seen 40kb/sec download today – with axel around 125 and with aria2c 150kb/sec. It arrived in around 2minutes on both. I’ll test with other downloads before selecting a favourite (currently I have them set with aliases for ‘get1’ and ‘get2’ to compare easily also with ‘wget’)

  6. yuck

    Axel doesn’t actually maximize dl speed, and contrary to popular belief it is not multithreaded. It opens multiple sockets in parallel, but uses only one thread to process them.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s