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:
- ftp://speedtest:[e-mail chráněný]/test100Mb.db
- 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ářů.