Gemessener Vergleich

aria2 vs. wget vs. curl: gemessen, nicht geschätzt

Alle drei laden Dateien über die Kommandozeile, sind aber für unterschiedliche Aufgaben gebaut. Wir haben sie nebeneinander auf demselben Rechner und mit denselben Testservern laufen lassen und jede Zahl notiert.

Zuletzt aktualisiert: Getestet mit aria2 1.37.0

Die kurze Antwort

aria2

Große Dateien, langsame Server, viele Downloads, Torrents

  • Bis zu 10× schneller, wenn ein Server jede Verbindung begrenzt
  • BitTorrent, Metalink und Mirrors eingebaut
  • Ein Download-Server, den Sie über RPC steuern

wget

Einfache Downloads und das Kopieren ganzer Websites

  • Geringster Speicherbedarf in unserem Test
  • Rekursives Spiegeln mit -r
  • Fast überall vorinstalliert

curl

APIs, Uploads und Skripte für beliebige Protokolle

  • 25 Protokolle in dem getesteten Build
  • Uploads, Formulare und volle Kontrolle über HTTP
  • Denken Sie an -L für Weiterleitungen

Eine große Datei von einem Server, der jede Verbindung begrenzt

Mirrors und Filehoster begrenzen oft die Geschwindigkeit einer einzelnen Verbindung. Unser Testserver erlaubte 2 MiB/s pro Verbindung auf einer Leitung mit 24 MiB/s. Dateigröße: 50 MB.

Dauer für 50 MB (kürzer ist schneller)Server-Limit 2 MiB/s pro Verbindung, Leitung 24 MiB/s. Gemessen am 2026-10-27.
Als Tabelle anzeigen
ProgrammBefehlSekunden
wget24,0wget URL · 24,0 s
curl24,0curl -O URL · 24,0 s
aria2, 1 Verbindung24,1aria2c URL · 24,1 s
aria2 -x16 -s1612,2aria2c -x16 -s16 URL · 12,2 s
aria2 -x16 -s16 -k1M2,3aria2c -x16 -s16 -k1M URL · 2,3 s

Mit einer Verbindung brauchen alle drei 24 Sekunden; der Server bestimmt das Tempo. aria2 mit 16 Verbindungen brauchte 12,2 Sekunden, weil sein Standardwert -k 20M eine 50-MB-Datei in nur 2 Teile aufteilt. Mit -k1M nutzte es alle 16 Verbindungen und war nach 2,3 Sekunden fertig.

20 Dateien auf einmal

Zwanzig 2-MB-Dateien von einem Server, der jeder Anfrage 80 ms Latenz hinzufügt und jede Verbindung auf 2 MiB/s begrenzt. wget und curl ohne Zusatzoptionen laden eine Datei nach der anderen; curl --parallel und aria2 laden mehrere gleichzeitig.

Dauer für den Download von 20 Dateien (niedriger ist schneller)20 × 2 MB, 80 ms Latenz, 2 MiB/s pro Verbindung. Gemessen am 2026-10-27.
Als Tabelle anzeigen
ProgrammBefehlSekunden
wget -i21,8wget -i urls.txt · 21,8 s
curl, nacheinander21,9xargs -n1 curl -O < urls.txt · 21,9 s
curl --parallel5,5curl --parallel --parallel-max 5 -O … · 5,5 s
aria2c -i4,5aria2c -i urls.txt · 4,5 s
aria2c -i -j16 -x42,0aria2c -i urls.txt -j16 -x4 -k1M · 2,0 s

aria2 führt standardmäßig 5 Downloads gleichzeitig aus und ist damit etwas schneller als curl --parallel mit demselben Limit. Mit -j16 -x4 erreichte es die Grenze der Leitung: 2,0 Sekunden gegenüber 21,8 bei wget. Alle fünf Durchläufe erzeugten identische Dateien.

Wenn der Server die Verbindungen nicht begrenzt

Auf einem lokalen Server ohne Limit luden alle drei die 50-MB-Datei in unter einer Sekunde, und wget und curl waren etwas schneller als aria2, das zuerst Speicherplatz für die Datei reserviert. Lastet bereits eine Verbindung Ihre Leitung aus, können zusätzliche Verbindungen nichts an Geschwindigkeit hinzufügen.

Arbeitsspeicher

Gemessen während desselben HTTP-Downloads. „Eigener Speicher“ ist das, was das Programm für sich selbst belegt hat; die Gesamtsumme enthält zusätzlich gemeinsam genutzte Systembibliotheken.

ProgrammEigener SpeicherGesamt (RSS)
wget 0,7 MiB 4,7 MiB
curl 1,5 MiB 10,4 MiB
aria2 4,5 MiB 17,1 MiB

wget ist am sparsamsten. aria2 braucht mehr, weil es eine Download-Engine, einen Festplattencache und den BitTorrent-Code bereithält, doch 4,5 MiB sind immer noch wenig: Die offiziellen Werte für aria2 liegen bei 4–9 MiB.

Einen unterbrochenen Download fortsetzen

Wir haben jedes Programm mitten im gedrosselten Download angehalten und neu gestartet. Alle drei endeten mit einer korrekten Datei: wget mit -c, curl mit -C -, aria2 mit -c. aria2 setzte sogar ohne -c fort, weil seine .aria2-Steuerdatei festhält, welche Teile fertig sind. Beachten Sie, dass aria2 zuerst die volle Dateigröße reserviert, sodass eine unvollständige Datei bereits ihre endgültige Größe anzeigt.

Weiterleitungen: die curl-Falle

Viele Download-Links leiten auf einen Mirror weiter. wget und aria2 folgen Weiterleitungen standardmäßig. curl nicht: Ohne -L speicherte es eine leere Datei und beendete sich trotzdem mit Code 0, sodass ein Skript nichts bemerken würde. Verwenden Sie für Downloads immer curl -L.

Was jedes Programm kann

Geprüft anhand der Dokumentation jedes Programms und, wo möglich, durch Ausführen.

aria2wgetcurl
Eine Datei über viele Verbindungen Ja Nein Nein
Eine Datei gleichzeitig von mehreren Mirrors Ja Nein Nein
BitTorrent und Magnet-Links Ja Nein Nein
Metalink Ja Manche Builds Nein
Unterbrochenen Download fortsetzen Ja Ja Ja
Fernsteuerung (RPC) Ja Nein Nein
Komplette Website spiegeln Nein Ja Nein
Upload, 25+ Protokolle, APIs Nein Nein Ja
Auf den meisten Linux-Systemen vorinstalliert Nein Ja Ja

Dieselbe Aufgabe mit allen drei

Jede Zeile außer den letzten beiden haben wir gegen unseren Testserver ausgeführt, mit eigenen Werten für die Zahlen; jede erzeugte die korrekte Datei.

Aufgabewgetcurlaria2c
Eine Datei herunterladen wget URLcurl -O URLaria2c URL
Unter einem anderen Namen speichern wget -O name.iso URLcurl -o name.iso URLaria2c -o name.iso URL
In einen Ordner speichern wget -P dir URLcurl --output-dir dir -O URLaria2c -d dir URL
Fortsetzen wget -c URLcurl -C - -O URLaria2c -c URL
Geschwindigkeit auf 1 MiB/s begrenzen wget --limit-rate=1m URLcurl --limit-rate 1M -O URLaria2c --max-download-limit=1M URL
Bis zu 10 Wiederholungsversuche wget --tries=10 URLcurl --retry 10 -O URLaria2c --max-tries=10 URL
Einen Header senden wget --header="X-Key: 1" URLcurl -H "X-Key: 1" -O URLaria2c --header="X-Key: 1" URL
User-Agent festlegen wget -U "Agent/1" URLcurl -A "Agent/1" -O URLaria2c -U "Agent/1" URL
HTTP-Anmeldung wget --user=U --password=P URLcurl -u U:P -O URLaria2c --http-user=U --http-passwd=P URL
Eine Liste von URLs herunterladen wget -i urls.txtxargs -n1 curl -O < urls.txtaria2c -i urls.txt
Zertifikatsprüfung überspringen wget --no-check-certificate URLcurl -k -O URLaria2c --check-certificate=false URL
Weiterleitungen folgen wget URLcurl -L -O URLaria2c URL
Eine Datei über 16 Verbindungen Nicht möglichNicht möglicharia2c -x16 -s16 -k1M URL
Einen Torrent herunterladen Nicht möglichNicht möglicharia2c file.torrent
Eine Website kopieren wget -r -np URLNicht möglichNicht möglich

Welches sollten Sie verwenden?

  • Eine große Datei von einem langsamen oder ausgelasteten Serveraria2c -x16 -s16 -k1M
  • Hunderte Dateien aus einer Listearia2c -i urls.txt -j16
  • Ein Torrent, Magnet-Link oder Metalinkaria2c
  • Eine Download-Warteschlange, die Sie vom Browser oder Smartphone aus steuernaria2c --enable-rpc mit einer WebUI
  • Eine ganze Website oder ein Verzeichnisbaumwget -r -np
  • Ein API-Aufruf, ein Upload oder ein Formularcurl
  • Ein schneller einmaliger Download auf einem Server, an dem Sie gerade angemeldet sindwget oder curl -L, bereits installiert

Häufige Fragen

Ist aria2 immer schneller als wget?
Nein. aria2 ist schneller, wenn der Server jede Verbindung begrenzt oder wenn viele Dateien gleichzeitig geladen werden: bis zu 10× in unseren Tests. Wenn bereits eine Verbindung Ihre Leitung auslastet, sind wget und curl genauso schnell und waren auf unserem unbegrenzten lokalen Server sogar etwas schneller.
Kann curl eine Datei über mehrere Verbindungen laden?
Nicht von sich aus. curl --parallel lädt mehrere URLs gleichzeitig, aber jede Datei verwendet weiterhin eine Verbindung. aria2 teilt eine Datei in Teile auf und holt sie parallel.
Kann ich aria2 in Skripten statt wget verwenden?
Für Downloads ja: aria2c -o name -d dir URL deckt ab, was wget -O und -P tun, und der Exit-Code teilt dem Skript mit, was schiefgelaufen ist. Ganze Websites kann aria2 nicht kopieren; dafür behalten Sie wget.
Welches braucht weniger Arbeitsspeicher?
wget: 0,7 MiB eigener Speicher in unserem Test, curl 1,5 MiB, aria2 4,5 MiB. Alle drei sind klein genug für einen Raspberry Pi oder einen Router.
Unterstützt wget BitTorrent?
Nein. Weder wget noch curl laden Torrents oder Magnet-Links. aria2 ist ein vollwertiger BitTorrent-Client und zugleich ein Download-Programm für HTTP und FTP.

Weiterführend