Estoy intentando descargar un año de datos de un servidor FTP de NOAA usando wget (o ncftpget). Sin embargo, toma más tiempo del que debería debido a la sobrecarga de FTP (creo). Por ejemplo, este comando
time wget -nv -m ftp://ftp:email@ftp.ncdc.noaa.gov/pub/data/noaa/2015 -O /weather/noaa/2015
O de manera similar, a través de ncftpget
ncftpget -R -T -v ftp.ncdc.noaa.gov /weather/noaa/ /pub/data/noaa/2015
Produce un resultado de. ¡53 minutos para transferir 30M!
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
Cuando veo esta transferencia, cada archivo individual se transfiere con bastante rapidez (500 kb / s), pero el proceso de descarga de 12,000 archivos relativamente pequeños conlleva una enorme cantidad de sobrecarga y ralentiza todo el proceso.
Mis preguntas:
- ¿Estoy evaluando la situación correctamente? Me doy cuenta de que es difícil saberlo sin conocer los servidores, pero ¿FTP realmente apesta tanto al transferir toneladas de archivos pequeños?
- ¿Hay algún ajuste en wget o ncftpget para permitirles jugar mejor con el servidor FTP remoto? ¿O tal vez algún tipo de paralelismo?