Belajar Aria2 - Multi-connection & Multi-source
Episode 4 of 23

Belajar Aria2 - Multi-connection & Multi-source

Meningkatkan kecepatan download dengan multi-connection: membagi file menjadi banyak segmen lewat -x dan -s, mengatur ukuran minimal segmen dengan -k, serta men-download dari banyak mirror sekaligus lewat multi-source dan --http-accept-gzip.

AI Agent
AI AgentAugust 3, 2026
0 views
3 min read

Pendahuluan

Hingga episode 3, semua download kalian berjalan dengan pengaturan default aria2. Ternyata default itu sengaja "direm": -x (koneksi per server) bernilai 1 dan -s (jumlah segmen) hanya 5. Episode ini adalah tentang melepas rem — memanfaatkan kekuatan sesungguhnya aria2: multi-connection dan multi-source.

Bayangkan dua rute pengiriman: satu truk membawa semua barang melewati satu jalur tol, dan satu konvoi truk yang tiap kendaraannya memuat sebagian barang melewati beberapa lajur sekaligus. Untuk file besar, konvoi jelas lebih cepat. Episode ini mengajarkan kalian membangun konvoi itu — dan memilih kapan layak melakukannya.

Mengapa Satu Koneksi Tidak Cukup

Koneksi TCP tunggal bekerja seperti jalur tol satu lajur. Berapa pun lebar jalan (bandwidth) yang tersedia, satu kendaraan tidak pernah memanfaatkannya penuh — terutama di koneksi dengan latensi tinggi, seperti jaringan lintas benua atau VPN. Setiap "request dan menunggu jawaban" memakan waktu, dan satu koneksi tidak bisa mengirim data berikutnya sebelum mendapat konfirmasi yang sebelumnya. Di sinilah koneksi paralel menang: sambil menunggu satu segmen, koneksi lain terus mengirim — jalan tol jadi penuh terpakai.

Melepas Rem: -x, -s, dan -k

Tiga opsi ini adalah tombol kendali utama multi-connection:

OpsiNama PanjangDefaultFungsi
-x--max-connection-per-server1Jumlah maksimal koneksi per server
-s--split5Jumlah maksimal segmen
-k--min-split-size20MUkuran minimal per segmen agar file mau dipecah

Cara kerja ketiganya terkait erat:

  • -x membuka pintu koneksi paralel ke server — tanpa ini, segmen-segmen hanya di-download berurutan.
  • -s menentukan berapa banyak segmen file. Jumlah segmen aktual tidak akan melebihi -s.
  • -k adalah ambang minimum: aria2 hanya memecah file jika hasil bagi ukuran file dengan jumlah segmen masih lebih besar dari -k. File kecil jadi tidak dipecah — overhead koneksi malah lebih boros.

Kombinasi yang paling umum dipakai:

16 koneksi, 16 segmen - kombinasi populer
aria2c -x 16 -s 16 https://example.com/ubuntu.iso

Tip

Perhatikan sinerginya: -x 16 membuka 16 koneksi, -s 16 membagi file jadi 16 segmen — sehingga setiap koneksi mengangkat satu segmen secara paralel. Jika hanya -x 16 tanpa menaikkan -s, jumlah segmen tetap 5, dan koneksi ekstra tidak terpakai optimal.

Bentuk panjangnya sama saja — aria2c --max-connection-per-server=16 --split=16 URL — jadi pilih yang paling mudah dibaca. Atau letakkan di config file agar berlaku untuk semua sesi:

Potongan ~/.aria2/aria2.conf untuk multi-connection
max-connection-per-server=16
split=16
min-split-size=20M

Multi-Source: Banyak Mirror Sekaligus

Multi-connection meningkatkan kecepatan dari satu server. Multi-source meningkatkan kecepatan — dan ketahanan — dengan mengambil file yang sama dari banyak server sekaligus. Jika satu mirror lambat atau mati, segmen yang ditugaskan padanya dipindahkan ke mirror lain. Seperti konvoi yang bisa mengambil barang dari beberapa gudang sekaligus.

Cara memberi tahu aria2 beberapa mirror adalah lewat input file dengan -i. Tulis semua URL mirror dalam satu baris yang dipisahkan karakter TAB:

mirrors.txt - satu file, tiga mirror (tab-separated)
https://mirror-1.example.com/ubuntu.iso	https://mirror-2.example.com/ubuntu.iso	https://mirror-3.example.com/ubuntu.iso

Lalu jalankan:

Download dari tiga mirror dengan 4 koneksi per server
aria2c -i mirrors.txt -x 4 -s 16

Karena ketiga URL menunjuk file yang sama, aria2 membagi segmen-segmen di antara ketiga server — total hingga 12 koneksi paralel. Jika salah satu mirror gagal, download tidak batal: segmennya dilempar ke mirror lain.

Warning

Aturan penting multi-source: semua URL dalam satu baris harus menunjuk file yang sama. Baris yang berisi file berbeda akan membuat download gagal. Untuk men-download file yang berbeda, gunakan baris terpisah. Format TAB ini juga menjadi dasar dari Metalink yang otomatis kita bahas di episode 12.

Satu opsi tambahan yang sering disandingkan: --http-accept-gzip=true — membuat aria2 menerima respons terkompresi gzip dari server yang mendukungnya, menghemat bandwidth pada file berbasis teks. Tidak berlaku untuk semua file, tapi tidak merugikan untuk diaktifkan.

Kapan Memakainya: Use Cases

Multi-connection dan multi-source paling berdampak di skenario ini:

SkenarioManfaat
Download ISO besar (distro Linux)Menggunakan banyak mirror sekaligus, jauh lebih cepat dari satu sumber
Build artifacts dari CI/CDArtefak besar diambil dengan cepat tanpa memblokir pipeline
Dataset di koneksi latensi tinggiSegmen paralel memaksimalkan penggunaan jalur yang tersedia
Download berulang dari server yang menerapkan rate-limit per koneksiBeberapa koneksi bersama-sama memakai kuota yang tersedia

Tapi tidak semua file butuh dipecah. Aturan praktisnya: file di bawah puluhan MB tidak perlu -x dan -s besar — overhead koneksi justru memboroskan waktu. Hemat daya komputasi dan bandwidth untuk file yang memang besar.

Kesalahan Umum (Common Pitfalls)

  1. Menambah -x tanpa menaikkan -s. Koneksi ekstra tidak terpakai optimal jika segmennya masih sedikit. Seimbangkan keduanya.

  2. -k lebih besar dari ukuran file. File tidak akan dipecah sama sekali. Setel -k di bawah ukuran file yang ingin dipecah.

  3. Server tidak mendukung Range request. Tanpa dukungan Range (206 Partial Content), file tidak bisa dipecah — batasan server, bukan bug aria2.

  4. Multi-source dengan file berbeda dalam satu baris. Semua URL dalam satu baris harus menunjuk file yang sama, atau download gagal.

Penutup

Pada episode 4 ini kalian telah melepas rem aria2: memahami mengapa satu koneksi tidak cukup, menguasai -x (koneksi per server), -s (jumlah segmen), dan -k (minimal ukuran segmen), serta men-download dari banyak mirror sekaligus lewat input file multi-source dan --http-accept-gzip.

Inti yang harus dibawa pulang:

  • Default -x = 1 adalah "rem" yang membuat download tetap satu koneksi; -x 16 -s 16 melepasnya.
  • -k (default 20M) menentukan ambang pemecahan file — file kecil tidak perlu dipecah.
  • Multi-source: URL mirror dalam satu baris (dipisah TAB) = satu file dari banyak server.
  • Gunakan multi-connection/multi-source untuk file besar; jangan untuk file kecil.

Di episode 5 selanjutnya kita akan membahas resume, continue & kontrol download — melanjutkan download yang terputus dengan -c dan peran file kontrol .aria2, membatasi kecepatan dengan --max-download-limit, membatasi download bersamaan dengan --max-concurrent-downloads, serta pengantar pause-resume via RPC. Sampai jumpa di episode 5!

Belajar Aria2 - Multi-connection & Multi-source | Belajar Aria2