以下省略!

タイダルウ(ry ほぼ毎日1記事執筆運動実施中。 ※記事に広告(アフィリエイト)リンクを掲載している場合があります。

axelというダウンロードツールを試してみた

f:id:abyssluke:20160715062343p:plain:w240:leftQiitaからのメールで知ったのだが、axelというダウンロードツールがあるみたい。複数コネクションで分割ダウンロードすることによりダウンロードをwgetcurlよりも高速化させようというもの*1。おまけにソフト自体も軽量(strip後の容量は50K未満)。

見せてもらおうか、れn axelの性能とやらを!
(意訳:というわけでビルドして試してみた。)

ちなみに画像はaxelのDebianパッケージ情報のページ。
少し長いので続きを読むから。

目次

インストール

Ubuntuのレポジトリにもあるが、例によって古いのであえて最新版を導入してみる。

$ git clone https://github.com/eribertomota/axel
$ cd axel
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

OpenSSL及びGetTextが必要。またautogen.shでautopointガーとか言われたときはsudo apt-get install autopointなりしてautopointを導入すること。

主要なオプション

使いそうなオプションについて。
・-n x:最大同時接続数。
・-s x:最大ダウンロード速度(bps)。
・-o 〜:保存するファイル名。
・-a:ダウンロード状況を1行(正確には接続終了メッセージとかも出るが)で表示する。-aオプションをつけていないとターミナルがカオスなことになるので付けるべき。

ダウンロードを比較

CentOS 7のMinimal版ISOを同一サーバー(ftp.jaist.ac.jp(IPv6))からダウンロードしてみた。
ダウンロードに影響するオプションはすべてデフォルト設定。
回線は光回線で、PC-ルータールーター-HGW間はGbE接続である。

wget
--2016-07-13 11:56:52--  http://ftp.jaist.ac.jp/pub/Linux/CentOS/7/isos/x86_64/CentOS-7-x86_64-Minimal-1511.iso
ftp.jaist.ac.jp (ftp.jaist.ac.jp) をDNSに問いあわせています... 2001:df0:2ed:feed::feed, 150.65.7.130
ftp.jaist.ac.jp (ftp.jaist.ac.jp)|2001:df0:2ed:feed::feed|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 632291328 (603M) [application/x-iso9660-image]
`CentOS-7-x86_64-Minimal-1511.iso' に保存中

100%[======================================>] 632,291,328 5.90MB/s   時間 3m 27s

2016-07-13 12:00:19 (2.92 MB/s) - `CentOS-7-x86_64-Minimal-1511.iso' へ保存完了 [632291328/632291328]
axel
ダウンロードを初期化: http://ftp.jaist.ac.jp/pub/Linux/CentOS/7/isos/x86_64/CentOS-7-x86_64-Minimal-1511.iso
ファイルサイズ: 632291328 バイト
出力ファイル CentOS-7-x86_64-Minimal-1511.iso をオープンします
ダウンロード開始します

接続 3 が終了しました                                                           
(中略)
接続 2 が終了しました                                                           

603.0 メガバイト を 56 秒 にダウンロード。(10914.48 KB/s)
結果

wgetと比べ約3倍以上高速化。 シャア・アズナブルよりもすごい。
wget23.36Mbpsなのに対しaxelは87.32Mbpsを記録した。

注意

  • サーバーやネットワークに負荷が掛かるので急ぎでない時は普通にwgetなどでダウンロードすべし
  • 複数コネクションを張ってダウンロードする行為自体が禁止なところもあるので注意

参考

qiita.com

*1:Windowsでも分割してダウンロードできるツールはある