Saya perlu mengunduh file besar (1GB). Saya juga memiliki akses ke banyak komputer yang menjalankan Linux, tetapi masing-masing dibatasi pada kecepatan unduh 50kB / s oleh kebijakan admin.
Bagaimana cara saya mendistribusikan pengunduhan file ini di beberapa komputer dan menggabungkannya setelah semua segmen diunduh, sehingga saya dapat menerimanya lebih cepat?
download
cluster
parallelism
Meysam
sumber
sumber
Jawaban:
Protokol umum HTTP, FTP, dan SFTP meminta kisaran permintaan , sehingga Anda dapat meminta bagian dari file. Perhatikan bahwa ini juga memerlukan dukungan server, sehingga mungkin atau mungkin tidak berfungsi dalam praktik.
Anda dapat menggunakan
curl
dan opsi-r
atau--range
untuk menentukan rentang dan akhirnya hanyacat
menyatukan file. Contoh:Dan akhirnya ketika Anda mengumpulkan bagian-bagian individual Anda menggabungkannya:
Anda dapat memperoleh informasi lebih lanjut tentang file, termasuk ukurannya dengan
--head
opsi:Anda dapat mengambil potongan terakhir dengan rentang terbuka:
Baca halaman manual ikal untuk opsi dan penjelasan lebih lanjut.
Anda lebih lanjut dapat memanfaatkan ssh dan tmux untuk memudahkan menjalankan dan melacak unduhan di beberapa server.
sumber
cat distro* > ...
periksa pengurutan file sebagai*
diperluas oleh shell Anda bisa mengurutkannya seperti ini:distro1.iso distro10.iso distro11.iso ...
dan dengan demikian menyatukan dalam urutan yang salah.cat distro{1..10}.iso
cat $(seq -fdist%g.iso 1 10)
harus lebih dapat diprediksi, tetapi gagalcsh
, meskipun. Mengganti$(…)
dengan backtics tampaknya berfungsi di sebagian besar shell.seq
bukan perintah portabel juga. Anda dapat menggunakandistro001.iso
,distro002.iso
...distroy010.iso
Dibutuhkan sekitar 5,5 jam untuk menunggang memuat file 1 gigabyte pada 50 kilobyte per detik.
Tampaknya upaya untuk mengoordinasikan banyak komputer untuk mendapatkan sebagian dapat menghemat waktu.
Anda dapat melihat bittorrent dan memanfaatkan seeding web bersama dengan transfer melalui pertukaran rekan. Setiap klien dapat menerima karya dan membagikan karya yang telah selesai dengan di jaringan area lokal (LAN). Anda berakhir dengan file 1gb yang sama di setiap komputer tetapi penggabungan potongan otomatis untuk Anda.
sumber