Hvordan bruke "Axel" som nedlastingsakselerator for å øke hastigheten på FTP- og HTTP-nedlastinger


Hvis du er typen person som liker å laste ned og prøve ut flere Linux-distribusjoner, er vi sikre på at du vil ta imot med åpne armer en nedlastingsakselerator som snakker og går veien – en som gjør det beskrivelsen sier.

I denne veiledningen vil vi introdusere deg til Axel, en lett wget-klone som ikke var noen avhengigheter (annet enn gcc og makeutils).

Selv om beskrivelsen sier at den er spesielt egnet for byte-kritiske systemer, kan axel installeres hvor som helst og brukes ikke bare til å laste ned flere filer samtidig over HTTP/FTP-koblinger, men også for å øke hastigheten på dem.

Installerer Axel, en kommandolinje-nedlastingsakselerator for Linux

Som vi nevnte tidligere, er axel ikke bare et annet nedlastingsverktøy. Den akselererer HTTP- og FTP-nedlastinger ved å bruke flere tilkoblinger for å hente filer fra destinasjonen og kan også konfigureres til å bruke flere speil også.

Hvis dette ikke var nok til å motivere deg til å prøve det, la oss bare legge til at axel støtter automatisk avbryting og gjenopptagelse av tilkoblinger som ikke reagerer eller ikke returnerer noen data etter en gitt tidsperiode.

I tillegg, hvis du har tillatelse til å gjøre det, kan du utnytte axel til å åpne flere samtidige FTP-tilkoblinger til en server for å multiplisere den tildelte båndbredden per tilkobling.

Hvis du ikke har lov til å gjøre dette eller ikke er sikker på det, kan du i stedet åpne flere tilkoblinger til separate servere og laste ned fra alle samtidig.

Sist, men ikke minst, skiller axel seg fra andre Linux-nedlastingsakseleratorer ved at den legger alle dataene i en enkelt fil ved nedlastingstidspunktet, i motsetning til å skrive data til separate filer og slå sammen dem på et senere tidspunkt.

I CentOS/RHEL 8/7 må du aktivere EPEL-depotet for å installere axel:

yum install epel-release
yum install axel

I Fedora er det tilgjengelig fra standarddepoter.

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

I Debian og derivater som Ubuntu og Linux Mint, kan du installere axel direkte med aptitude<:

aptitude install axel

Arch Linux og relaterte distroer som Manjaro Linux og OpenSUSE Linux, kan du installere axel direkte med:


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

Når akselen er installert, la oss dykke inn med begge føttene.

Konfigurere Axel – Linux Download Accelerator

Du kan konfigurere axel ved å bruke /etc/axelrc og sende flere ønskede alternativer på kommandolinjen når du starter den. Konfigurasjonsfilen er godt dokumentert, men vi vil se på de mest nyttige alternativene her:

reconnect_delay er antall sekunder som axel vil vente før han prøver igjen å starte en ny tilkobling til serveren.

max_speed er selvforklarende. Verdien er gitt i byte per sekund (B/s). Det kan være lurt å sette denne variabelen til en passende verdi etter å ha vurdert tilgjengelig båndbredde. Dette vil hjelpe deg å forhindre at axel bruker mye av båndbredden din mens den lastes ned.

Viktig: Vær oppmerksom på at den faktiske maksimale nedlastingshastigheten vil avhenge av Internett-tilkoblingen din – det sier seg selv at innstillingen max_speed til 5 MB/s vil ikke gjøre noe hvis Internett-tilkoblingen din maksimalt er 1,22 MB/s (som det var i mitt tilfelle, som du vil se i eksemplene nedenfor – jeg bare forlot denne verdien for å gjøre poenget).

num_connections er det maksimale antallet tilkoblinger som axel vil forsøke å starte. Den anbefalte verdien (4) er nok for de fleste tilfeller og gis hovedsakelig på grunnlag av respekt for andre FTP-brukere. Vær oppmerksom på at enkelte servere kanskje ikke engang tillater flere tilkoblinger.

connection_timeout indikerer antall sekunder som axel vil vente på å motta et svar før den prøver å avbryte og gjenoppta det automatisk.

http_proxy lar deg angi en proxy-server i tilfelle HTTP_PROXY-miljøvariabelen ikke er angitt for hele systemet. Denne variabelen bruker samme format som HTTP_PROXY (http://:PORT).

no_proxy er en liste over lokale domener, atskilt med kommaer, som axel ikke skal prøve å nå gjennom en proxy. Denne innstillingen er valgfri.

buffer_size representerer den maksimale mengden, i byte, som skal leses fra alle gjeldende tilkoblinger om gangen.

verbose lar deg velge om nedlastingsrelaterte meldinger skal skrives ut på skjermen. Sett dette til 0 hvis du vil deaktivere det, eller 1 hvis du fortsatt vil se meldingene.

grensesnitt lar deg liste opp nettverksgrensesnittene som har tilgang til Internett, dersom du har mer enn ett. Hvis dette ikke er eksplisitt satt, vil axel bruke det første grensesnittet i rutingtabellen.

Lignende konfigurasjonsalternativer er tilgjengelige fra:

axel --help

Hvis du ser nøye etter, vil du innse at de fleste kommandolinjealternativer ligner de i konfigurasjonsfilen. I tillegg lar -o (–output) et alternativ deg spesifisere et utdatafilnavn.

Hvis den brukes, vil den overstyre kildefilnavnet. Hvis du angir noen av kommandolinjealternativene, vil de overstyre de som er satt i konfigurasjonsfilen.

Hvordan bruke Axel til å laste ned filer raskere i Linux

Vi vil bruke følgende innstillinger fra konfigurasjonsfilen (fjern kommenter de tilsvarende linjene):

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

Vi vil nå sammenligne nedlastingstidene fra HTTP- og FTP-koblinger ved å bruke wget og axel. Du kan velge hvilken som helst fil uansett størrelse, men for enkelhets skyld laster vi ned 100 MB filer tilgjengelig fra:

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

Sammenlign nedlastingstider for FTP og Axel

FTP-nedlasting med wget (459 KB/s i gjennomsnitt):
wget ftp://speedtest:[email /test100Mb.db

FTP-nedlasting med axel (1181,43 KB/s i gjennomsnitt):
axel -n 10 --output=axel-test100Mb.db ftp://speedtest:[email /test100Mb.db

Sammenlign nedlastingstider for HTTP og Axel

HTTP-nedlasting med wget (482 KB/s i gjennomsnitt):
wget http://speedtest.ftp.otenet.gr/files/test100Mb.db

HTTP-nedlasting med axel (1178,93 KB/s i gjennomsnitt):
axel -n 10 --output=axel-test100Mb.db http://speedtest.ftp.otenet.gr/files/test100Mb.db

Som du kan se i resultatene fra testene vi utførte ovenfor, kan axel akselerere en FTP- eller HTTP-nedlasting betydelig.

Sammendrag

I denne artikkelen har vi forklart hvordan du bruker axel, en FTP/HTTP-nedlastingsakselerator, og vist hvordan den yter raskere enn andre programmer som for eksempel wget fordi den kan åpne flere samtidige tilkoblinger til eksterne servere.

Ikke gå glipp av: 5 mest populære nedlastingsbehandlere for Linux-systemene dine

Ikke gå glipp av: 10 Wget (Linux File Downloader) kommandoeksempler i Linux

Vi håper at det vi har vist her motiverer deg til å prøve axel. Gi oss gjerne beskjed hvis du har spørsmål eller kommentarer om denne artikkelen ved å bruke skjemaet nedenfor. Vi ser alltid frem til å motta tilbakemeldinger fra våre lesere.