Wyszukiwanie w witrynie

Jak używać „Axel” jako akceleratora pobierania w celu przyspieszenia pobierania FTP i HTTP


Jeśli jesteś osobą, która lubi pobierać i wypróbowywać kilka dystrybucji Linuksa, jesteśmy pewni, że przyjmiesz z otwartymi ramionami akcelerator pobierania, który mówi i robi wszystko, co mówi jego opis.

W tym przewodniku przedstawimy Ci Axel, lekki klon wget, który nie jest zależny (inny niż gcc i makeutils).

Chociaż w opisie jest napisane, że jest specjalnie dostosowany do systemów, w których liczba bajtów jest krytyczna, axel można zainstalować w dowolnym miejscu i używać nie tylko do jednoczesnego pobierania wielu plików przez łącza HTTP/FTP, ale także do ich przyspieszania.

Instalowanie Axela, akceleratora pobierania z wiersza poleceń dla systemu Linux

Jak wspomnieliśmy wcześniej, axel to nie tylko kolejne narzędzie do pobierania. Przyspiesza pobieranie HTTP i FTP, wykorzystując wiele połączeń do pobierania plików z miejsca docelowego, a także można go skonfigurować tak, aby korzystał z wielu serwerów lustrzanych.

Jeśli to nie wystarczy, aby zmotywować Cię do wypróbowania, dodajmy, że axel obsługuje automatyczne przerywanie i wznawianie połączeń, które nie odpowiadają lub nie zwracają żadnych danych po określonym czasie.

Ponadto, jeśli masz na to pozwolenie, możesz wykorzystać axel do otwarcia wielu jednoczesnych połączeń FTP z serwerem w celu zwielokrotnienia przydzielonej przepustowości na połączenie.

Jeśli nie możesz tego zrobić lub nie jesteś tego pewien, możesz zamiast tego otworzyć wiele połączeń do oddzielnych serwerów i pobierać pliki z nich wszystkich jednocześnie.

I wreszcie, axel różni się od innych akceleratorów pobierania Linuksa tym, że podczas pobierania umieszcza wszystkie dane w jednym pliku, zamiast zapisywać je w oddzielnych plikach i łączyć je na późniejszym etapie.

W CentOS/RHEL 8/7 musisz włączyć repozytorium EPEL, aby zainstalować axel:

yum install epel-release
yum install axel

W Fedorze jest on dostępny z domyślnych repozytoriów.

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

W Debianie i jego pochodnych, takich jak Ubuntu i Linux Mint, możesz zainstalować axel bezpośrednio za pomocą aptitude:

aptitude install axel

W Arch Linux i pokrewnych dystrybucjach, takich jak Manjaro Linux i OpenSUSE Linux, możesz zainstalować axel bezpośrednio za pomocą:


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

Po zamontowaniu osi zanurkujmy obiema stopami.

Konfigurowanie Axela – akceleratora pobierania systemu Linux

Możesz skonfigurować axel za pomocą /etc/axelrc i przekazać dalsze żądane opcje w wierszu poleceń podczas jego wywoływania. Plik konfiguracyjny jest dobrze udokumentowany, ale najbardziej przydatne opcje omówimy tutaj:

reconnect_delay to liczba sekund, przez które axel będzie czekać przed ponowną próbą nawiązania nowego połączenia z serwerem.

Wartość max_speed jest oczywista. Wartość podana jest w bajtach na sekundę (B/s). Możesz chcieć ustawić tę zmienną na odpowiednią wartość po uwzględnieniu dostępnej przepustowości. Pomoże Ci to zapobiec zużywaniu przez Axel dużej części przepustowości podczas pobierania.

Ważne: pamiętaj, że faktyczna maksymalna prędkość pobierania będzie zależała od Twojego połączenia internetowego – oczywiste jest, że ustawienie max_speed na 5 MB/s nic nie da, jeśli Twoje połączenie internetowe osiągnie maksymalną prędkość 1,22 MB/s (tak jak było w moim przypadku, jak zobaczysz na poniższych przykładach – po prostu pozostawiłem tę wartość, aby podkreślić kwestię).

num_connections to maksymalna liczba połączeń, które axel będzie próbował uruchomić. Zalecana wartość (4) jest wystarczająca w większości przypadków i jest podawana głównie ze względu na szacunek dla innych użytkowników FTP. Należy pamiętać, że niektóre serwery mogą nawet nie zezwalać na wielokrotne połączenia.

connection_timeout wskazuje liczbę sekund, przez które axel będzie czekać na odpowiedź, zanim podejmie próbę automatycznego przerwania i wznowienia.

http_proxy umożliwia ustawienie serwera proxy w przypadku, gdy zmienna środowiskowa HTTP_PROXY nie została ustawiona w całym systemie. Ta zmienna używa tego samego formatu co HTTP_PROXY (http://:PORT).

no_proxy to lista domen lokalnych oddzielonych przecinkami, do których axel nie powinien próbować dotrzeć poprzez proxy. To ustawienie jest opcjonalne.

buffer_size reprezentuje maksymalną ilość w bajtach do odczytania jednocześnie ze wszystkich bieżących połączeń.

verbose pozwala wybrać, czy wiadomości związane z pobieraniem będą drukowane na ekranie. Ustaw tę opcję na 0, jeśli chcesz ją wyłączyć, lub 1, jeśli chcesz nadal widzieć wiadomości.

interfaces pozwala wyświetlić listę interfejsów sieciowych, które mają dostęp do Internetu, jeśli masz więcej niż jeden. Jeśli nie jest to ustawione jawnie, axel użyje pierwszego interfejsu w tablicy routingu.

Podobne opcje konfiguracji są dostępne w:

axel --help

Jeśli przyjrzysz się uważnie, zdasz sobie sprawę, że większość opcji wiersza poleceń przypomina te z pliku konfiguracyjnego. Dodatkowo opcja -o (–output) umożliwia określenie nazwy pliku wyjściowego.

Jeśli zostanie użyty, zastąpi nazwę pliku źródłowego. Jeśli ustawisz dowolne opcje wiersza poleceń, zastąpią one te ustawione w pliku konfiguracyjnym.

Jak używać Axela do szybszego pobierania plików w systemie Linux

Wykorzystamy następujące ustawienia z pliku konfiguracyjnego (odkomentuj odpowiednie linie):

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

Porównamy teraz czas pobierania z łączy HTTP i FTP przy użyciu wget i axel. Możesz wybrać dowolny plik o dowolnym rozmiarze, ale dla uproszczenia pobierzemy pliki 100 MB dostępne z:

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

Porównaj czasy pobierania FTP i Axel

Pobieranie FTP za pomocą wget (średnio 459 KB/s):
wget ftp://speedtest:[email /test100Mb.db

Pobieranie FTP z axelem (średnio 1181,43 KB/s):
axel -n 10 --output=axel-test100Mb.db ftp://speedtest:[email /test100Mb.db

Porównaj czasy pobierania HTTP i Axel

Pobieranie HTTP za pomocą wget (średnio 482 KB/s):
wget http://speedtest.ftp.otenet.gr/files/test100Mb.db

Pobieranie HTTP za pomocą axela (średnio 1178,93 KB/s):
axel -n 10 --output=axel-test100Mb.db http://speedtest.ftp.otenet.gr/files/test100Mb.db

Jak widać w wynikach testów, które przeprowadziliśmy powyżej, axel może znacznie przyspieszyć pobieranie FTP lub HTTP.

Streszczenie

W tym artykule wyjaśniliśmy, jak używać axel, akceleratora pobierania FTP/HTTP i pokazaliśmy, że działa on szybciej niż inne programy, takie jak wget, ponieważ jest w stanie otwieraj wiele jednoczesnych połączeń ze zdalnymi serwerami.

Nie przegap: 5 najpopularniejszych menedżerów pobierania dla systemów Linux

Nie przegap: 10 przykładów poleceń Wget (narzędzie do pobierania plików systemu Linux) w systemie Linux

Mamy nadzieję, że to, co tutaj pokazaliśmy, zmotywuje Cię do wypróbowania axela. Jeśli masz jakieś pytania lub uwagi dotyczące tego artykułu, daj nam znać, korzystając z poniższego formularza. Zawsze czekamy na opinie naszych czytelników.