Kaip naudoti „Axel“ kaip atsisiuntimo spartintuvą, kad pagreitintumėte FTP ir HTTP atsisiuntimus


Jei esate toks žmogus, kuriam patinka atsisiųsti ir išbandyti kelis Linux platinimus, esame tikri, kad išskėstomis rankomis sutiksite atsisiuntimo greitintuvą, kuris kalba apie kalbas ir eina pėsčiomis – tą, kuris daro tai, kas sakoma aprašyme.

Šiame vadove supažindinsime su Axel – lengvu wget klonu, kuris neturėjo priklausomybių (išskyrus gcc ir makeutils).

Nors aprašyme teigiama, kad jis specialiai tinka baitų kritinėms sistemoms, axel galima įdiegti bet kur ir naudoti ne tik norint vienu metu atsisiųsti kelis failus per HTTP/FTP nuorodas, bet ir juos paspartinti.

„Axel“, komandų eilutės atsisiuntimo spartintuvo, skirto „Linux“, diegimas

Kaip minėjome anksčiau, axel nėra tik dar vienas atsisiuntimo įrankis. Jis pagreitina HTTP ir FTP atsisiuntimą naudodamas kelis ryšius, kad gautų failus iš paskirties vietos, taip pat gali būti sukonfigūruotas naudoti kelis veidrodžius.

Jei to nepakako, kad paskatintumėte jį išbandyti, tiesiog pridurkime, kad axel palaiko automatinį ryšio nutraukimą ir atnaujinimą, kurie nereaguoja arba negrąžina jokių duomenų praėjus tam tikram laikotarpiui.

Be to, jei turite leidimą tai padaryti, galite panaudoti „axel“, kad atidarytumėte kelis vienu metu esančius FTP ryšius su serveriu, kad padaugintumėte vienam ryšiui skirtą pralaidumą.

Jei jums neleidžiama to daryti arba nesate tikri, galite atidaryti kelis ryšius prie atskirų serverių ir atsisiųsti iš visų vienu metu.

Paskutinis, bet ne mažiau svarbus dalykas – axel skiriasi nuo kitų „Linux“ atsisiuntimo spartintuvų tuo, kad atsisiuntimo metu visi duomenys sujungiami į vieną failą, o ne įrašant duomenis į atskirus failus ir vėliau juos sujungiant.

CentOS/RHEL 8/7 turėsite įgalinti EPEL saugyklą, kad galėtumėte įdiegti axel:

yum install epel-release
yum install axel

„Fedora“ jis pasiekiamas iš numatytųjų saugyklų.

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

Programoje Debian ir išvestinėse programose, pvz., Ubuntu ir Linux Mint, galite įdiegti axel tiesiogiai naudodami aptitude<:

aptitude install axel

Arch Linux ir susijusiuose platinimo įrenginiuose, pvz., Manjaro Linux ir OpenSUSE Linux, galite įdiegti axel tiesiogiai naudodami:


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

Sumontavus ašį, nerkime abiem kojomis.

„Axel“ konfigūravimas – „Linux Download Accelerator“.

Galite konfigūruoti „axel“ naudodami /etc/axelrc ir komandinėje eilutėje perduoti kitas norimas parinktis, kai ją iškviečiate. Konfigūracijos failas yra gerai dokumentuotas, tačiau čia apžvelgsime naudingiausias parinktis:

reconnect_delay – tai sekundžių skaičius, kurį axel lauks prieš bandydamas dar kartą užmegzti naują ryšį su serveriu.

max_speed yra savaime suprantamas dalykas. Reikšmė pateikiama baitais per sekundę (B/s). Galbūt norėsite nustatyti šio kintamojo atitinkamą reikšmę, įvertinę turimą pralaidumą. Tai padės išvengti, kad „Axel“ sunaudotų daug pralaidumo, kol jis atsisiunčiamas.

Svarbu: atminkite, kad tikrasis maksimalus atsisiuntimo greitis priklausys nuo jūsų interneto ryšio – savaime suprantama, kad nustatykite max_speed į 5 MB/s nieko nepadarys, jei jūsų interneto ryšys bus maksimalus 1,22 MB/s (kaip buvo mano atveju, kaip matysite toliau pateiktuose pavyzdžiuose – aš tiesiog paliko šią reikšmę, kad būtų taškas).

jungčių_skaičius yra didžiausias jungčių, kurias „axel“ bandys užmegzti, skaičius. Rekomenduojamos vertės (4) pakanka daugeliu atvejų ir ji pateikiama daugiausia dėl pagarbos kitiems FTP naudotojams. Atminkite, kad kai kurie serveriai gali net neleisti prisijungti prie kelių.

connection_timeout nurodo sekundžių skaičių, kiek „axel“ lauks, kol gaus atsakymą, prieš bandydamas jį automatiškai nutraukti ir atnaujinti.

http_proxy leidžia nustatyti tarpinį serverį, jei aplinkos kintamasis HTTP_PROXY nebuvo nustatytas visoje sistemoje. Šis kintamasis naudoja tą patį formatą kaip HTTP_PROXY (http://:PORT).

no_proxy yra vietinių domenų, atskirtų kableliais, sąrašas, kurių „axel“ neturėtų bandyti pasiekti per tarpinį serverį. Šis nustatymas yra neprivalomas.

buferio_dydis reiškia didžiausią kiekį baitais, kurį reikia nuskaityti iš visų esamų jungčių vienu metu.

verbose leidžia pasirinkti, ar su atsisiuntimu susiję pranešimai bus spausdinami ekrane. Nustatykite 0, jei norite jį išjungti, arba 1, jei norite vis tiek matyti pranešimus.

sąsajos leidžia išvardyti tinklo sąsajas, turinčias prieigą prie interneto, jei turite daugiau nei vieną. Jei tai nėra aiškiai nustatyta, „axel“ naudos pirmąją sąsają maršruto parinkimo lentelėje.

Panašios konfigūracijos parinktys galimos iš:

axel --help

Jei atidžiai pažvelgsite, suprasite, kad dauguma komandų eilutės parinkčių yra panašios į konfigūracijos faile esančias parinktis. Be to, parinktis -o (–output) leidžia nurodyti išvesties failo pavadinimą.

Jei naudojamas, jis nepaisys šaltinio failo pavadinimo. Jei nustatysite bet kurią iš komandinės eilutės parinkčių, jos nepaisys konfigūracijos faile nustatytų parinkčių.

Kaip naudoti „Axel“ norint greičiau atsisiųsti failus sistemoje „Linux“.

Mes naudosime šiuos nustatymus iš konfigūracijos failo (atimkite atitinkamas eilutes):

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

Dabar palyginsime atsisiuntimo laiką iš HTTP ir FTP nuorodų naudodami wget ir axel. Galite pasirinkti bet kokį bet kokio dydžio failą, tačiau dėl paprastumo atsisiųsime 100 MB failus, kuriuos galite rasti iš:

  1. ftp://speedtest:[apsaugotas el. paštas]/test100Mb.db
  2. http://speedtest.ftp.otenet.gr/files/test100Mb.db

Palyginkite FTP ir Axel atsisiuntimo laikus

FTP atsisiuntimas naudojant wget (vidutiniškai 459 KB/s):
wget ftp://speedtest:[email /test100Mb.db

FTP atsisiuntimas naudojant axel (vidutiniškai 1181,43 KB/s):
axel -n 10 --output=axel-test100Mb.db ftp://speedtest:[email /test100Mb.db

Palyginkite HTTP ir „Axel“ atsisiuntimo laiką

HTTP atsisiuntimas naudojant wget (vidutiniškai 482 KB/s):
wget http://speedtest.ftp.otenet.gr/files/test100Mb.db

HTTP atsisiuntimas naudojant axel (vidutiniškai 1178,93 KB/s):
axel -n 10 --output=axel-test100Mb.db http://speedtest.ftp.otenet.gr/files/test100Mb.db

Kaip matote anksčiau atliktų testų rezultatuose, axel gali žymiai pagreitinti FTP arba HTTP atsisiuntimą.

Santrauka

Šiame straipsnyje paaiškinome, kaip naudoti axel, FTP/HTTP atsisiuntimo spartintuvą, ir parodėme, kaip jis veikia greičiau nei kitos programos, pvz., wget, nes gali atidaryti kelis vienu metu esančius ryšius su nuotoliniais serveriais.

Nepraleiskite: 5 populiariausios „Linux“ sistemų atsisiuntimų tvarkyklės

Nepraleiskite: 10 „Wget“ („Linux“ failų atsisiuntimo programos) komandų pavyzdžių sistemoje „Linux“

Tikimės, kad tai, ką čia parodėme, paskatins jus išbandyti axel. Nedvejodami praneškite mums, jei turite klausimų ar komentarų apie šį straipsnį, naudodami toliau pateiktą formą. Visada laukiame savo skaitytojų atsiliepimų.