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

avatar

说到下载软件,大家可能会想到迅雷之类的下载工具,但是我平时用的较多的就是浏览器自带的下载功能以及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!



0
0
0.000
6 comments
avatar

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!

0
0
0.000
avatar

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

0
0
0.000
avatar

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

0
0
0.000