Download Incremental

Posted by

Pernah ga kalian download sebuah file yang cukup besar? terus ketika didownload, kecepatan downloadnya tiba-tiba berkurang terus menerus lalu mentok di kecepatan tertentu? padahal ketika download pertama kali, kecepatannya bisa sampai sekian Mb.

Nah, hal tersebut pernah saya alami. Kira-kira beberapa hari yang lalu lah kejadiannya. Jadi waktu itu, posisi saya masih dikantor. Saya download file yang cukup besar dari salah satu layanan diinternet. Ketika file tersebut didownload, kecepatan download pada 5-10 detik pertama cukup kencang. Kira-kira bisa sampai belasan Mb. Namun lambat laun kecepatan downloadnya berkurang dan mentok dibawah 1 Mb. Maklum, downloadnya pakai account standard/free plan. Bukan pakai account premium yang tidak dibatasi maksimum bandwidth download nya 😀

Gambar dari https://pixabay.com

Karena kesal, akhir nya coba di cancel. Kemudian coba download lagi. Eeh, ternyata ngebut lagi di 5-10 detik pertama. Lalu lambat laun turun lagi. Cancel lagi, download lagi. Begitu seterusnya sampai beberapa kali cancel download cancel download. Kebetulan, saya downloadnya pakai CLI.

Agar proses cancel dan downloadnya dilakukan secara otomatis, saya buat sebuah looping proses hingga 100 kali. Untuk proses cancelnya, saya menggunakan perintah timeout. Perintah downloadnya, saya menggunakan wget. Kira-kira seperti ini peritahnya :

for i in {1..100}; do timeout 5 wget -c 'https://link-file-besar'; done

Dengan menggabungkan proses looping dan timeout diatas, maka proses yang dilakukan adalah lakukan looping dari 1 hingga 100. Setiap looping, lakukan proses download dengan perintah wget. Lalu timeout (cancel) setelah 5 detik. Dengan demikian, saya mendapatkan kecepatan download di 5 detik pertama hingga belasan Mb. Kemudian cancel proses setelah 5 detik. Lalu proses download jalan lagi selama 5 detik dan cancel lagi. Begitu seterusnya.

Dengan cara diatas, proses download dilakukan secara incremental 😀 . Waktu yang dibutuhkan juga menjadi lebih cepat dibandingkan download secara normal 😀

Silakan dicoba dan semoga bermanfaat 🙂

One comment

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.