每天进步一点点:使用axel替代wget进行高速多线程下载

in cn •  5 years ago 

说到下载软件,大家可能会想到迅雷之类的下载工具,但是我平时用的较多的就是浏览器自带的下载功能以及wget命令行工具了。

但是我发现在下载一些大的文件时,wget会比较慢,并且只开一个线程,于是我就想wget有没有多线程功能呢?查了半天帮助文档并没有发现相关功能,但是却意外发现了一个工具axel。


(图源 :pixabay)

axel的github主页,我们可以看到相关描述:

Axel - Lightweight CLI download accelerator

也就是说是一个轻量级命令行下载加速器,我看了一下它只支持HTTP, HTTPS, FTP and FTPS四种协议,相比其它一些工具支持的协议种类有点少,不过够用就好嘛。

安装

在Ubuntu 18.04 系统下,我们可以使用如下指令直接安装:

sudo apt install axel

我看了一下版本号:

axel --version

安装的版本是2.16.1

而撰写本文时,Github上最新的版本为:Version 2.17.6,所以如果想体验新版的话,还需要自己编译啦,好在我的原则是好用就好。

使用

既然是轻量级工具,用起来也应该是相当简单,来看一下帮助先:

axel --help

果然是很简单呢:

比较与示例

下面我们来看看使用wget以及axel下载的速度差异,我们测试下载ubuntu-18.04.3-live-server-amd64.iso这个ISO,来比较速度差异

使用wget

下载命令

wget http://releases.ubuntu.com/18.04.3/ubuntu-18.04.3-live-server-amd64.iso

看了一下下载速度,大致在600-800KB/s之间,这个速度还有有点慢

使用axel

下载命令(开它100个线程试试)

axel -n 100 http://releases.ubuntu.com/18.04.3/ubuntu-18.04.3-live-server-amd64.iso

多线程下载就是爽啊

最终结果:

Downloaded 848.0 Megabyte in 1:36 minute(s). (9034.65 KB/s)

可见,axel下载速度可以达到9300KB/s,几乎快达到wget 15倍的速率了。

其它

本文中操作仅为测试,实际下载时不要开这么多线程,可能会对目标服务器造成一些不必要的麻烦,另外可能被对方服务器禁止IP。

其实大多数时候,用wget已经足够了。

相关链接


Vote For Me As Witness
https://steemit.com/~witnesses type in oflyhigh and click VOTE

Vote @oflyhigh via Steemconnect
Thank you!

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  
  ·  5 years ago 

@tipu curate

Upvoted 👌 (Mana: 15/20)

多谢

Thank you so much for participating in the Partiko Delegation Plan Round 1! We really appreciate your support! As part of the delegation benefits, we just gave you a 3.22% upvote! Together, let’s change the world!

  ·  5 years ago 

我经常才10线程,就被封IP了

开100线程,在服务器还没反应过来封你之前,完成任务。