Saya mencoba mengunduh data setahun dari Server FTP NOAA menggunakan wget (atau ncftpget). Namun, itu membutuhkan waktu lebih lama daripada seharusnya karena overhead FTP (saya pikir). Misalnya, perintah ini
time wget -nv -m ftp://ftp:email@ftp.ncdc.noaa.gov/pub/data/noaa/2015 -O /weather/noaa/2015
Atau juga, melalui ncftpget
ncftpget -R -T -v ftp.ncdc.noaa.gov /weather/noaa/ /pub/data/noaa/2015
Menghasilkan hasil. 53 menit untuk mentransfer 30 juta!
FINISHED --2015-01-03 16:21:41--
Total wall clock time: 53m 32s
Downloaded: 12615 files, 30M in 7m 8s (72.6 KB/s)
real 53m32.447s
user 0m2.858s
sys 0m8.744s
Ketika saya menonton transfer ini, masing-masing file individu mentransfer cukup cepat (500 kb / detik) tetapi proses mengunduh 12.000 file yang relatif kecil menimbulkan biaya overhead yang sangat besar dan memperlambat seluruh proses.
Pertanyaan saya:
- Apakah saya menilai situasi dengan benar? Saya menyadari sulit untuk mengatakannya tanpa mengetahui server tetapi apakah FTP benar-benar menyedot sebanyak ini ketika mentransfer banyak file kecil?
- Apakah ada tweak untuk wget atau ncftpget untuk memungkinkan mereka bermain lebih baik dengan server FTP jarak jauh? Atau mungkin semacam paralelisme?