Qiitaからのメールで知ったのだが、axelというダウンロードツールがあるみたい。複数コネクションで分割ダウンロードすることによりダウンロードをwgetやcurlよりも高速化させようというもの*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などでダウンロードすべし
- 複数コネクションを張ってダウンロードする行為自体が禁止なところもあるので注意