Zoeken op website

Hoe u 'Axel' kunt gebruiken als downloadversneller om FTP- en HTTP-downloads te versnellen


Als je het soort persoon bent dat graag verschillende Linux-distributies downloadt en uitprobeert, zijn we er zeker van dat je met open armen een downloadversneller zult verwelkomen die de praatjes praat en de daad bij het woord voegt – een die doet wat de beschrijving zegt.

In deze handleiding laten we u kennismaken met Axel, een lichtgewicht wget-kloon die geen afhankelijkheden had (behalve gcc en makeutils).

Hoewel in de beschrijving staat dat het speciaal geschikt is voor byte-kritische systemen, kan axel overal worden geïnstalleerd en niet alleen worden gebruikt om meerdere bestanden tegelijk te downloaden via HTTP/FTP-links, maar ook om ze te versnellen.

Axel installeren, een opdrachtregeldownloadversneller voor Linux

Zoals we eerder vermeldden, is axel niet zomaar een downloadtool. Het versnelt HTTP- en FTP-downloads door meerdere verbindingen te gebruiken om bestanden van de bestemming op te halen en kan ook worden geconfigureerd om ook meerdere mirrors te gebruiken.

Als dit nog niet genoeg is om je gemotiveerd te krijgen om het uit te proberen, voegen we eraan toe dat axel het automatisch afbreken en hervatten van verbindingen ondersteunt die niet reageren of na een bepaalde periode geen gegevens retourneren.

Bovendien kunt u, als u daarvoor toestemming heeft, Axel gebruiken om meerdere gelijktijdige FTP-verbindingen met een server te openen om de toegewezen bandbreedte per verbinding te vermenigvuldigen.

Als u dit niet mag doen of er niet zeker van bent, kunt u in plaats daarvan meerdere verbindingen met afzonderlijke servers openen en van alle servers tegelijk downloaden.

Last but not least verschilt axel van andere Linux-downloadversnellers doordat het alle gegevens tijdens het downloaden in één bestand plaatst, in tegenstelling tot het schrijven van gegevens naar afzonderlijke bestanden en deze in een later stadium samen te voegen.

In CentOS/RHEL 8/7 moet u de EPEL-repository inschakelen om Axel te kunnen installeren:

yum install epel-release
yum install axel

In Fedora is het beschikbaar vanuit standaard repository's.

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

In Debian en derivaten zoals Ubuntu en Linux Mint kunt u axel rechtstreeks installeren met aptitude:

aptitude install axel

Op Arch Linux en gerelateerde distributies zoals Manjaro Linux en OpenSUSE Linux kun je axel rechtstreeks installeren met:


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

Zodra de as is geïnstalleerd, duiken we er met beide voeten in.

Axel configureren – Linux Download Accelerator

U kunt Axel configureren met behulp van /etc/axelrc en verdere gewenste opties doorgeven op de opdrachtregel wanneer u deze aanroept. Het configuratiebestand is goed gedocumenteerd, maar we zullen hier de handigste opties bekijken:

reconnect_delay is het aantal seconden dat Axel zal wachten voordat hij opnieuw probeert een nieuwe verbinding met de server tot stand te brengen.

max_speed spreekt voor zich. De waarde wordt gegeven in bytes per seconde (B/s). Mogelijk wilt u deze variabele op een geschikte waarde instellen nadat u uw beschikbare bandbreedte heeft overwogen. Dit zal je helpen voorkomen dat Axel een groot deel van je bandbreedte verbruikt tijdens het downloaden.

Belangrijk: houd er rekening mee dat de daadwerkelijke maximale downloadsnelheid afhankelijk is van uw internetverbinding. Het spreekt voor zich dat u max_speed instelt op 5 MB/s zal niets doen als uw internetverbinding maximaal 1,22 MB/s bedraagt (zoals in mijn geval het geval was, zoals u in de onderstaande voorbeelden zult zien – ik liet die waarde achter om het punt te maken).

num_connections is het maximale aantal verbindingen dat Axel zal proberen te starten. De aanbevolen waarde (4) is in de meeste gevallen voldoende en wordt vooral gegeven uit respect voor andere FTP-gebruikers. Houd er rekening mee dat sommige servers mogelijk niet eens meerdere verbindingen toestaan.

connection_timeout geeft het aantal seconden aan dat Axel zal wachten op het ontvangen van een reactie voordat hij probeert af te breken en deze automatisch te hervatten.

Met http_proxy kunt u een proxyserver instellen voor het geval de omgevingsvariabele HTTP_PROXY niet voor het hele systeem is ingesteld. Deze variabele gebruikt hetzelfde formaat als HTTP_PROXY (http://:PORT).

no_proxy is een lijst met lokale domeinen, gescheiden door komma's, die Axel niet moet proberen te bereiken via een proxy. Deze instelling is optioneel.

buffer_size vertegenwoordigt de maximale hoeveelheid, in bytes, die tegelijk van alle huidige verbindingen kan worden gelezen.

Met verbose kunt u kiezen of downloadgerelateerde berichten op het scherm worden afgedrukt. Zet dit op 0 als je het wilt uitschakelen, of op 1 als je de berichten toch wilt zien.

Met interfaces kunt u de netwerkinterfaces weergeven die toegang hebben tot internet, mocht u er meer dan één hebben. Als dit niet expliciet is ingesteld, gebruikt Axel de eerste interface in de routeringstabel.

Soortgelijke configuratieopties zijn beschikbaar bij:

axel --help

Als u goed kijkt, zult u zich realiseren dat de meeste opdrachtregelopties lijken op die in het configuratiebestand. Bovendien kunt u met de optie -o (–output) een uitvoerbestandsnaam opgeven.

Indien gebruikt, zal het de bronbestandsnaam overschrijven. Als u een van de opdrachtregelopties instelt, overschrijven deze de opties die in het configuratiebestand zijn ingesteld.

Hoe Axel te gebruiken om bestanden sneller te downloaden in Linux

We zullen de volgende instellingen uit het configuratiebestand gebruiken (verwijder de commentaren op de overeenkomstige regels):

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

We vergelijken nu de downloadtijden van HTTP- en FTP-links met behulp van wget en axel. U kunt elk bestand van elke grootte kiezen, maar voor de eenvoud downloaden we bestanden van 100 MB die beschikbaar zijn van:

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

Vergelijk FTP- en Axel-downloadtijden

FTP-download met wget (gemiddeld 459 KB/s):
wget ftp://speedtest:[email /test100Mb.db

FTP-download met Axel (gemiddeld 1181,43 KB/s):
axel -n 10 --output=axel-test100Mb.db ftp://speedtest:[email /test100Mb.db

Vergelijk HTTP- en Axel-downloadtijden

HTTP-download met wget (gemiddeld 482 KB/s):
wget http://speedtest.ftp.otenet.gr/files/test100Mb.db

HTTP-download met Axel (gemiddeld 1178,93 KB/s):
axel -n 10 --output=axel-test100Mb.db http://speedtest.ftp.otenet.gr/files/test100Mb.db

Zoals je kunt zien in de resultaten van de tests die we hierboven hebben uitgevoerd, kan axel een FTP- of HTTP-download aanzienlijk versnellen.

Samenvatting

In dit artikel hebben we uitgelegd hoe je axel, een FTP/HTTP-downloadversneller, kunt gebruiken en hebben we laten zien hoe het sneller presteert dan andere programma's zoals wget, omdat het in staat is open meerdere gelijktijdige verbindingen met externe servers.

Mis het niet: 5 populairste downloadmanagers voor je Linux-systemen

Mis het niet: 10 Wget (Linux File Downloader)-opdrachtvoorbeelden in Linux

We hopen dat wat we hier hebben laten zien je motiveert om Axel te proberen. Heeft u vragen of opmerkingen over dit artikel? Laat het ons gerust weten via onderstaand formulier. We kijken er altijd naar uit om feedback van onze lezers te ontvangen.