ウェブサイト検索

「Axel」をダウンロード アクセラレータとして使用して FTP および HTTP ダウンロードを高速化する方法


あなたがいくつかの Linux ディストリビューションをダウンロードして試してみるのが好きな人なら、有言実行、つまり説明どおりのことを実行するダウンロード アクセラレータを両手を広げて歓迎するでしょう。

このガイドでは、(gccmakeutils 以外に) 依存関係のない軽量の wget クローンである Axel を紹介します。

その説明には、バイトクリティカルなシステムに特に適していると記載されていますが、アクセルはどこにでもインストールでき、HTTP/FTP リンク経由で複数のファイルを同時にダウンロードするだけでなく、高速化するためにも使用できます。

Linux 用のコマンドライン ダウンロード アクセラレータである Axel のインストール

前述したように、アクセルは単なるダウンロード ツールではありません。複数の接続を使用して宛先からファイルを取得することでHTTPFTP のダウンロードを高速化します。また、複数のミラーを使用するように構成することもできます。

これだけでは試してみようという意欲が十分でない場合は、アクセルが応答しない場合や一定期間経過後にデータが返されない場合の接続の自動中止と再開をサポートしていることを付け加えておきましょう。

さらに、許可がある場合は、アクセルを利用してサーバーへの複数の同時 FTP 接続を開き、接続ごとに割り当てられた帯域幅を増やすことができます。

これを行うことが許可されていない場合、またはよくわからない場合は、代わりに、別々のサーバーへの複数の接続を開き、すべてのサーバーから同時にダウンロードすることができます。

最後に重要なことですが、アクセルは、データを個別のファイルに書き込んで後の段階で結合するのではなく、ダウンロード時にすべてのデータを 1 つのファイルに入れるという点で、他の Linux ダウンロード アクセラレータとは異なります。

CentOS/RHEL 8/7 では、axel をインストールするために EPEL リポジトリを有効にする必要があります。

yum install epel-release
yum install axel

Fedora では、デフォルトのリポジトリから利用できます。

yum install axel   
dnf install axel   [On Fedora 23+ releases]

Debian や、UbuntuLinux Mint などの派生バージョンでは、aptitude< を使用して axel を直接インストールできます。:

aptitude install axel

Arch Linux と、Manjaro LinuxOpenSUSE Linux などの関連ディストリビューションでは、次のコマンドで axel を直接インストールできます。


sudo pacman -S axel       [On Arch/Manjaro]
sudo zypper install axel  [On OpenSUSE]

アクセルを取り付けたら、両足で飛び込んでみましょう。

Axel の構成 – Linux ダウンロード アクセラレータ

/etc/axelrc を使用して axel を設定し、呼び出すときにコマンド ラインでさらに必要なオプションを渡すことができます。構成ファイルは詳細に文書化されていますが、ここでは最も便利なオプションを確認します。

reconnect_lay は、サーバーへの新しい接続の開始を再試行する前にアクセルが待機する秒数です。

max_speed は一目瞭然です。値は 1 秒あたりのバイト数 (B/s) で指定されます。利用可能な帯域幅を考慮した後、この変数を適切な値に設定することをお勧めします。これは、アクセルがダウンロード中に帯域幅を大量に消費するのを防ぐのに役立ちます。

重要: 実際の最大ダウンロード速度はインターネット接続によって異なることに注意してください。max_speed に設定することは言うまでもありません。インターネット接続が1.22 MB/ 秒に達した場合、5 MB/秒では何も起こりません(私の場合はそうでしたが、以下の例でわかるように、私は単に要点を伝えるためにその値をそのままにしました)。

num_connections は、アクセルが開始を試みる接続の最大数です。推奨値 (4) はほとんどの場合に十分であり、主に他の FTP ユーザーへの配慮を理由に指定されています。サーバーによっては複数の接続さえ許可しない場合があることに注意してください。

connection_timeout は、アクセルが自動的に中止して再開する前に応答の受信を待機する秒数を示します。

http_proxy を使用すると、HTTP_PROXY 環境変数がシステム全体に設定されていない場合にプロキシ サーバーを設定できます。この変数は、HTTP_PROXY (http://:PORT) と同じ形式を使用します。

no_proxy は、コンマで区切られたローカル ドメインのリストであり、アクセルはプロキシ経由でのアクセスを試みるべきではありません。この設定はオプションです。

buffer_size は、現在のすべての接続から一度に読み取る最大量をバイト単位で表します。

verbose を使用すると、ダウンロード関連のメッセージを画面に表示するかどうかを選択できます。無効にする場合はこれを 0 に設定し、メッセージを引き続き表示したい場合は 1 に設定します。

interfaces を使用すると、インターネットにアクセスできるネットワーク インターフェイスをリストできます (複数ある場合)。これが明示的に設定されていない場合、axel はルーティング テーブルの最初のインターフェイスを使用します。

同様の構成オプションは次から入手できます。

axel --help

よく見ると、ほとんどのコマンドライン オプションが構成ファイルのオプションと似ていることがわかります。さらに、 -o (–output) オプションを使用すると、出力ファイル名を指定できます。

使用すると、ソース ファイル名がオーバーライドされます。コマンドライン オプションのいずれかを設定すると、構成ファイルで設定されたオプションが上書きされます。

Axel を使用して Linux でファイルをより速くダウンロードする方法

構成ファイルから次の設定を使用します (対応する行のコメントを解除します)。

reconnect_delay = 20
max_speed = 500000
num_connections = 4
connection_timeout = 30
buffer_size = 10240
verbose = 1

次に、wgetaxel を使用して、HTTP リンクと FTP リンクからのダウンロード時間を比較します。任意のサイズのファイルを選択できますが、簡単にするために、次の場所から入手可能な100 MB のファイルをダウンロードします。

  1. ftp://speedtest:[email /test100Mb.db
  2. http://speedtest.ftp.otenet.gr/files/test100Mb.db

FTP と Axel のダウンロード時間を比較する

wget を使用した FTP ダウンロード (平均 459 KB/秒):
wget ftp://speedtest:[email /test100Mb.db

axel を使用した FTP ダウンロード (平均 1181.43 KB/秒):
axel -n 10 --output=axel-test100Mb.db ftp://speedtest:[email /test100Mb.db

HTTP と Axel のダウンロード時間を比較する

wget を使用した HTTP ダウンロード (平均 482 KB/秒):
wget http://speedtest.ftp.otenet.gr/files/test100Mb.db

axel を使用した HTTP ダウンロード (平均 1178.93 KB/秒):
axel -n 10 --output=axel-test100Mb.db http://speedtest.ftp.otenet.gr/files/test100Mb.db

上記で実行したテストの結果からわかるように、アクセルFTPまたはHTTPのダウンロードを大幅に高速化できます。

まとめ

この記事では、FTP/HTTP ダウンロード アクセラレータである axel の使用方法を説明し、wget などの他のプログラムよりも高速に実行できることを示しました。リモートサーバーへの複数の同時接続を開きます。

お見逃しなく: Linux システムで最も人気のある 5 つのダウンロード マネージャー

お見逃しなく: Linux での 10 個の Wget (Linux ファイル ダウンローダー) コマンドの例

ここで紹介した内容が、アクセルを試すきっかけになれば幸いです。この記事に関してご質問やご意見がございましたら、以下のフォームを使用してお気軽にお知らせください。私たちは読者からのフィードバックを常に楽しみにしています。