Vyhledávání na webu

Jak používat „Axel“ jako akcelerátor stahování pro urychlení stahování FTP a HTTP


Pokud jste ten typ člověka, který si rád stahuje a zkouší několik linuxových distribucí, jsme si jisti, že s otevřenou náručí přivítáte akcelerátor stahování, který mluví a chodí – takový, který dělá to, co říká jeho popis.

V této příručce vám představíme Axel, lehký klon wget, který neměl žádné závislosti (kromě gcc a makeutils).

Ačkoli jeho popis uvádí, že je speciálně vhodný pro bajtově kritické systémy, axel lze nainstalovat kdekoli a použít nejen ke stahování více souborů současně přes HTTP/FTP odkazy, ale také k jejich zrychlení.

Instalace Axel, akcelerátoru stahování z příkazového řádku pro Linux

Jak jsme již zmínili dříve, axel není jen další nástroj pro stahování. Urychluje stahování HTTP a FTP pomocí více připojení k načtení souborů z cíle a lze jej také nakonfigurovat pro použití více zrcadel.

Pokud to k vyzkoušení nestačilo, dodejme, že axel podporuje automatické přerušení a obnovení připojení, která po určité době nereagují nebo nevrací žádná data.

Kromě toho, pokud k tomu máte oprávnění, můžete využít axel k otevření více současných FTP připojení k serveru, abyste znásobili přidělenou šířku pásma na připojení.

Pokud to nemáte povoleno nebo si tím nejste jisti, můžete místo toho otevřít více připojení k samostatným serverům a stahovat ze všech současně.

V neposlední řadě se axel liší od ostatních linuxových akcelerátorů stahování v tom, že v okamžiku stahování vkládá všechna data do jednoho souboru, na rozdíl od zapisování dat do samostatných souborů a jejich spojování v pozdější fázi.

V CentOS/RHEL 8/7 budete muset povolit úložiště EPEL, abyste mohli nainstalovat axel:

yum install epel-release
yum install axel

Ve Fedoře je dostupný z výchozích úložišť.

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

V Debian a odvozeninách, jako je Ubuntu a Linux Mint, můžete nainstalovat axel přímo pomocí aptitude<:

aptitude install axel

Na Arch Linux a souvisejících distribucích, jako jsou Manjaro Linux a OpenSUSE Linux, můžete nainstalovat axel přímo pomocí:


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

Jakmile je náprava nainstalována, pojďme se ponořit oběma nohama.

Konfigurace Axel – Linux Download Accelerator

Axel můžete nakonfigurovat pomocí /etc/axelrc a při jeho vyvolání předat další požadované možnosti v příkazovém řádku. Konfigurační soubor je dobře zdokumentován, ale zde zkontrolujeme nejužitečnější možnosti:

reconnect_delay je počet sekund, po které bude axel čekat, než se znovu pokusí zahájit nové připojení k serveru.

max_speed je samovysvětlující. Hodnota je udávána v bajtech za sekundu (B/s). Po zvážení dostupné šířky pásma můžete tuto proměnnou nastavit na vhodnou hodnotu. To vám pomůže zabránit tomu, aby axel během stahování spotřeboval velkou část vaší šířky pásma.

Důležité: Upozorňujeme, že skutečná maximální rychlost stahování bude záviset na vašem internetovém připojení – samozřejmostí je nastavení max_speed na 5 MB/s neudělá nic, pokud vaše internetové připojení dosáhne maxima 1,22 MB/s (jak tomu bylo v mém případě, jak uvidíte v příkladech níže – já jen ponechali tuto hodnotu, abychom uvedli pointu).

num_connections je maximální počet připojení, která se axel pokusí spustit. Doporučená hodnota (4) je pro většinu případů dostatečná a je dána většinou z důvodu respektu k ostatním uživatelům FTP. Upozorňujeme, že některé servery dokonce neumožňují více připojení.

connection_timeout udává počet sekund, po které bude axel čekat na přijetí odpovědi, než se pokusí o automatické přerušení a obnovení.

http_proxy umožňuje nastavit proxy server v případě, že proměnná prostředí HTTP_PROXY nebyla nastavena v celém systému. Tato proměnná používá stejný formát jako HTTP_PROXY (http://:PORT).

no_proxy je seznam lokálních domén oddělených čárkami, do kterých by se axel neměl pokoušet dostat přes proxy. Toto nastavení je volitelné.

velikost_bufferu představuje maximální množství v bajtech, které lze číst ze všech aktuálních připojení najednou.

verbose vám umožňuje zvolit, zda se na obrazovce budou tisknout zprávy související se stahováním. Nastavte toto na 0, chcete-li to zakázat, nebo 1, pokud chcete zprávy stále vidět.

rozhraní umožňuje vypsat síťová rozhraní, která mají přístup k internetu, pokud jich máte více. Pokud to není explicitně nastaveno, axel použije první rozhraní ve směrovací tabulce.

Podobné možnosti konfigurace jsou k dispozici na:

axel --help

Pokud se podíváte pozorně, uvědomíte si, že většina možností příkazového řádku se podobá těm v konfiguračním souboru. Navíc volba -o (–output) umožňuje zadat výstupní název souboru.

Pokud je použit, přepíše zdrojový název souboru. Pokud nastavíte kteroukoli z voleb příkazového řádku, přepíší volby nastavené v konfiguračním souboru.

Jak používat Axel k rychlejšímu stahování souborů v Linuxu

Použijeme následující nastavení z konfiguračního souboru (odkomentujte příslušné řádky):

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

Nyní porovnáme doby stahování z odkazů HTTP a FTP pomocí wget a axel. Můžete si vybrat libovolný soubor libovolné velikosti, ale pro zjednodušení stáhneme 100 MB soubory dostupné z:

  1. ftp://speedtest:[e-mail chráněný]/test100Mb.db
  2. http://speedtest.ftp.otenet.gr/files/test100Mb.db

Porovnejte časy stahování FTP a Axel

FTP stahování s wget (průměrně 459 KB/s):
wget ftp://speedtest:[email /test100Mb.db

FTP stahování s axelem (průměrně 1181,43 KB/s):
axel -n 10 --output=axel-test100Mb.db ftp://speedtest:[email /test100Mb.db

Porovnejte časy stahování HTTP a Axel

HTTP stahování pomocí wget (průměrně 482 KB/s):
wget http://speedtest.ftp.otenet.gr/files/test100Mb.db

HTTP stahování s axelem (1178,93 KB/s v průměru):
axel -n 10 --output=axel-test100Mb.db http://speedtest.ftp.otenet.gr/files/test100Mb.db

Jak můžete vidět ve výsledcích testů, které jsme provedli výše, axel dokáže výrazně urychlit stahování pomocí FTP nebo HTTP.

souhrn

V tomto článku jsme vysvětlili, jak používat axel, akcelerátor stahování FTP/HTTP, a ukázali jsme, jak funguje rychleji než jiné programy, jako je wget, protože je schopen otevřít více současných připojení ke vzdáleným serverům.

Nepřehlédněte: 5 nejoblíbenějších správců stahování pro vaše systémy Linux

Nepřehlédněte: 10 příkladů příkazů Wget (Linux File Downloader) v Linuxu

Doufáme, že to, co jsme zde ukázali, vás motivuje vyzkoušet axel. Pokud máte nějaké dotazy nebo připomínky k tomuto článku, dejte nám vědět pomocí níže uvedeného formuláře. Vždy se těšíme na zpětnou vazbu od našich čtenářů.