Cum să utilizați Axel ca accelerator de descărcare pentru a accelera descărcările FTP și HTTP


Dacă sunteți genul de persoană căreia îi place să descarce și să încerce acceleratorul de descărcare, care vorbește și merge pe jos - unul care face ceea ce spune descrierea sa.

În acest ghid, vă vom prezenta Axel, o clonă wget ușoară care nu avea dependențe (altele decât gcc și makeutils).

Deși descrierea sa afirmă că este special potrivit pentru sistemele critice de octeți, axel poate fi instalat oriunde și poate fi folosit nu numai pentru a descărca mai multe fișiere simultan prin link-uri HTTP/FTP, ci și pentru a le accelera.

Instalarea Axel, un accelerator de descărcare în linie de comandă pentru Linux

După cum am menționat mai devreme, axel nu este doar un alt instrument de descărcare. Acesta accelerează descărcările HTTP și FTP folosind mai multe conexiuni pentru a prelua fișiere de la destinație și poate fi configurat și pentru a utiliza mai multe oglinzi.

Dacă acest lucru nu a fost suficient pentru a vă motiva să îl încercați, să adăugăm doar că axel acceptă întreruperea automată și reluarea conexiunilor care nu răspund sau nu returnează date după o anumită perioadă de timp.

În plus, dacă aveți permisiunea de a face acest lucru, puteți utiliza axel pentru a deschide mai multe conexiuni FTP simultane la un server pentru a multiplica lățimea de bandă alocată per conexiune.

Dacă nu aveți voie să faceți acest lucru sau nu sunteți sigur de asta, puteți, în schimb, să deschideți mai multe conexiuni la servere separate și să descărcați de pe toate în același timp.

Nu în ultimul rând, axel diferă de alte acceleratoare de descărcare Linux prin faptul că pune toate datele într-un singur fișier în timpul descărcării, spre deosebire de scrierea datelor în fișiere separate și unirea acestora într-o etapă ulterioară.

În CentOS/RHEL 8/7, va trebui să activați depozitul EPEL pentru a instala axel:

# yum install epel-release
# yum install axel

În Fedora, este disponibil din depozitele implicite.

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

În Debian și derivate precum Ubuntu și Linux Mint, puteți instala axel direct cu aptitude<:

# aptitude install axel

Pe Arch Linux și distribuțiile aferente, cum ar fi Manjaro Linux și OpenSUSE Linux, puteți instala axel direct cu:

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

Odată ce axul este instalat, să ne scufundăm cu ambele picioare.

Configurarea Axel – Linux Download Accelerator

Puteți configura axel folosind /etc/axelrc și puteți transmite alte opțiuni dorite în linia de comandă când îl invocați. Fișierul de configurare este bine documentat, dar vom analiza cele mai utile opțiuni aici:

reconnect_delay este numărul de secunde pe care Axel le va aștepta înainte de a încerca din nou să pornească o nouă conexiune la server.

max_speed se explică de la sine. Valoarea este dată în octeți pe secundă (B/s). Poate doriți să setați această variabilă la o valoare adecvată după ce luați în considerare lățimea de bandă disponibilă. Acest lucru vă va ajuta să împiedicați axel să consume o mare parte din lățimea de bandă în timp ce se descarcă.

Important: rețineți că rata maximă reală de descărcare va depinde de conexiunea dvs. la internet – este de la sine înțeles că setarea max_speed la 5 MB/s nu va face nimic dacă conexiunea dvs. la internet atinge maximul de 1,22 MB/s (cum a fost în cazul meu, așa cum veți vedea în exemplele de mai jos - Tocmai am lăsat acea valoare ca să explic).

num_connections este numărul maxim de conexiuni pe care axel va încerca să le pornească. Valoarea recomandată (4) este suficientă pentru majoritatea cazurilor și este dată în mare parte din motive de respect pentru alți utilizatori FTP. Vă rugăm să rețineți că este posibil ca unele servere să nu permită conexiuni multiple.

connection_timeout indică numărul de secunde în care axel va aștepta să primească un răspuns înainte de a încerca să anuleze și să-l reia automat.

http_proxy vă permite să setați un server proxy în cazul în care variabila de mediu HTTP_PROXY nu a fost setată la nivelul întregului sistem. Această variabilă folosește același format ca HTTP_PROXY (http://:PORT).

no_proxy este o listă de domenii locale, separate prin virgule, la care axel nu ar trebui să încerce să ajungă printr-un proxy. Această setare este opțională.

buffer_size reprezintă cantitatea maximă, în octeți, de citit din toate conexiunile curente simultan.

verbose vă permite să alegeți dacă mesajele legate de descărcare vor fi tipărite pe ecran. Setați acest lucru la 0 dacă doriți să îl dezactivați sau la 1 dacă doriți să vedeți în continuare mesajele.

interfețe vă permite să enumerați interfețele de rețea care au acces la Internet, dacă aveți mai multe. Dacă acest lucru nu este setat în mod explicit, axel va folosi prima interfață din tabelul de rutare.

Opțiuni de configurare similare sunt disponibile de la:

# axel --help

Dacă te uiți cu atenție, vei realiza că majoritatea opțiunilor din linia de comandă seamănă cu cele din fișierul de configurare. În plus, opțiunea -o (–output) vă permite să specificați un nume de fișier de ieșire.

Dacă este utilizat, va suprascrie numele fișierului sursă. Dacă setați oricare dintre opțiunile din linia de comandă, acestea le vor înlocui pe cele setate în fișierul de configurare.

Cum să utilizați Axel pentru a descărca fișiere mai rapid în Linux

Vom folosi următoarele setări din fișierul de configurare (decomentați liniile corespunzătoare):

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

Vom compara acum timpii de descărcare de la linkurile HTTP și FTP folosind wget și axel. Puteți alege orice fișier de orice dimensiune, dar pentru simplitate, vom descărca fișiere de 100 MB disponibile de la:

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

Comparați timpii de descărcare FTP și Axel

# wget ftp://speedtest:/test100Mb.db
# axel -n 10 --output=axel-test100Mb.db ftp://speedtest:/test100Mb.db

Comparați timpii de descărcare HTTP și Axel

# wget http://speedtest.ftp.otenet.gr/files/test100Mb.db
# axel -n 10 --output=axel-test100Mb.db http://speedtest.ftp.otenet.gr/files/test100Mb.db

După cum puteți vedea în rezultatele testelor pe care le-am efectuat mai sus, axel poate accelera o descărcare FTP sau HTTP în mod semnificativ.

rezumat

În acest articol, am explicat cum să utilizați axel, un accelerator de descărcare FTP/HTTP și am arătat cum funcționează mai rapid decât alte programe, cum ar fi wget, deoarece este capabil să deschide mai multe conexiuni simultane la servere la distanță.

Sperăm că ceea ce am arătat aici vă motivează să încercați Axel. Simțiți-vă liber să ne anunțați dacă aveți întrebări sau comentarii despre acest articol folosind formularul de mai jos. Așteptăm întotdeauna cu nerăbdare să primim feedback de la cititorii noștri.