Sådan bruges Axel som downloadaccelerator for at fremskynde FTP- og HTTP-downloads


Hvis du er den slags person, der nyder at downloade og prøve flere Linux-distributioner, er vi sikre på, at du med åbne arme vil byde velkommen til en downloadaccelerator, der taler samtalen og går en tur - en, der gør, hvad beskrivelsen siger.

I denne vejledning introducerer vi dig til Axel, en letvægts wget-klon, der ikke var nogen afhængighed (bortset fra gcc og makeutils).

Selvom det i beskrivelsen hedder, at det er specielt egnet til byte-kritiske systemer, kan axel installeres hvor som helst og bruges ikke kun til at downloade flere filer samtidigt via HTTP/FTP-links, men også til at fremskynde dem også.

Installation af Axel, en Command Line Download Accelerator til Linux

Som vi nævnte tidligere, er axel ikke bare et andet downloadværktøj. Det fremskynder HTTP- og FTP-downloads ved at bruge flere forbindelser til at hente filer fra destinationen og kan også konfigureres til at bruge flere spejle.

Hvis dette ikke var nok til at få dig motiveret til at prøve det, lad os bare tilføje, at axel understøtter automatisk afbrydelse og genoptagelse af forbindelser, der ikke reagerer eller ikke returnerer data efter en given periode.

Derudover, hvis du har tilladelse til det, kan du udnytte axel til at åbne flere samtidige FTP-forbindelser til en server for at multiplicere den tildelte båndbredde pr. Forbindelse.

Hvis du ikke har lov til at gøre dette, eller hvis du ikke er sikker på det, kan du i stedet åbne flere forbindelser til separate servere og downloade fra dem alle på samme tid.

Sidst men ikke mindst adskiller axel sig fra andre Linux-downloadacceleratorer ved at placere alle data i en enkelt fil på downloadtid i modsætning til at skrive data til separate filer og slutte sig til dem på et senere tidspunkt.

I CentOS/RHEL 7 skal du aktivere EPEL-arkivet for at installere axel:

# yum install epel-release
# yum install axel

I Fedora er den tilgængelig fra standardregistre.

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

I Debian Jessie og derivater som Ubuntu og Linux Mint kan du installere axel direkte med evne:

# aptitude install axel

Når axel er installeret, lad os dykke ned med begge fødder.

Konfiguration af Axel - Linux Download Accelerator

Du kan konfigurere axel ved hjælp af/etc/axelrc og videregive yderligere ønskede indstillinger i kommandolinjen, når du påberåber den. Konfigurationsfilen er veldokumenteret, men vi gennemgår de mest nyttige muligheder her:

reconnect_delay er antallet af sekunder, som axel venter, før de prøver igen at starte en ny forbindelse til serveren.

max_speed er selvforklarende. Værdien angives i byte pr. Sekund (B/s). Det kan være en god idé at indstille denne variabel til en passende værdi efter at have overvejet din tilgængelige båndbredde. Dette hjælper dig med at forhindre, at axel forbruger en stor del af din båndbredde, mens den downloades.

Vigtigt: Vær opmærksom på, at den faktiske maksimale downloadhastighed afhænger af din internetforbindelse - det siger sig selv, at indstilling af max_hastighed til 5 MB/s ikke vil gøre noget, hvis din internetforbindelse maksimerer 1,22 MB/s (som det var i mit tilfælde, som du vil se i eksemplerne nedenfor - jeg har lige efterladt den værdi for at komme med pointen).

num_connections er det maksimale antal forbindelser, som axel vil forsøge at starte. Den anbefalede værdi (4) er tilstrækkelig i de fleste tilfælde og gives hovedsagelig på grund af respekt for andre FTP-brugere. Bemærk, at nogle servere muligvis ikke engang tillader flere forbindelser.

connection_timeout angiver antallet af sekunder, som axel vil vente på at modtage et svar, inden det forsøger at afbryde og genoptage det automatisk.

http_proxy giver dig mulighed for at indstille en proxyserver, hvis miljøvariablen HTTP_PROXY ikke er indstillet hele systemet. Denne variabel bruger det samme format som HTTP_PROXY (http: //: PORT).

no_proxy er en liste over lokale domæner, adskilt af kommaer, som axel ikke skal forsøge at nå gennem en proxy. Denne indstilling er valgfri.

buffer_størrelse repræsenterer det maksimale antal i byte, der skal læses fra alle de aktuelle forbindelser ad gangen.

detaljeret giver dig mulighed for at vælge, om download-relaterede meddelelser skal udskrives på skærmen. Indstil dette til 0, hvis du vil deaktivere det, eller 1, hvis du stadig vil se meddelelserne.

-grænseflader lader dig angive de netværksgrænseflader, der har adgang til Internettet, hvis du har mere end en. Hvis dette ikke er udtrykkeligt indstillet, bruger axel den første grænseflade i routingtabellen.

Lignende konfigurationsindstillinger er tilgængelige fra:

# axel --help

Hvis du ser nøje, vil du indse, at de fleste kommandolinjemuligheder ligner dem i konfigurationsfilen. Derudover giver indstillingen -o (–output) dig mulighed for at angive et outputfilnavn.

Hvis det bruges, tilsidesætter det kildens filnavn. Hvis du indstiller en af kommandolinjemulighederne, tilsidesætter de dem, der er angivet i konfigurationsfilen.

Sådan bruges Axel Command Line Download Accelerator

Vi bruger følgende indstillinger fra konfigurationsfilen (fjern kommentar fra de tilsvarende linjer):

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

Vi sammenligner nu downloadtiderne fra HTTP- og FTP-links ved hjælp af wget og axel. Du kan vælge en hvilken som helst fil i enhver størrelse, men for enkelhedens skyld downloader vi 100 MB filer tilgængelige fra:

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

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

Som du kan se i resultaterne fra de tests, vi udførte ovenfor, kan axel accelere en FTP- eller HTTP-download betydeligt.

Resumé

I denne artikel har vi forklaret, hvordan man bruger axel, en FTP/HTTP-downloadaccelerator, og viste, hvordan den fungerer hurtigere end andre programmer såsom wget på grund af at den er i stand til at åbne flere samtidige forbindelser til eksterne servere.

Vi håber, at det, vi har vist her, motiverer dig til at prøve axel. Du er velkommen til at fortælle os, hvis du har spørgsmål eller kommentarer til denne artikel ved hjælp af nedenstående formular. Vi ser altid frem til at modtage feedback fra vores læsere.