Estou tentando baixar o valor de um ano de dados de um servidor NOAA FTP usando wget (ou ncftpget). No entanto, leva muito mais tempo do que deveria devido à sobrecarga do FTP (eu acho). Por exemplo, este comando
time wget -nv -m ftp://ftp:email@ftp.ncdc.noaa.gov/pub/data/noaa/2015 -O /weather/noaa/2015
Ou da mesma forma, via ncftpget
ncftpget -R -T -v ftp.ncdc.noaa.gov /weather/noaa/ /pub/data/noaa/2015
Rende um resultado de. 53 minutos para transferir 30 milhões!
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
Quando assisto a essa transferência, cada arquivo individual é transferido rapidamente (500kb / s), mas o processo de download de 12.000 arquivos relativamente pequenos gera uma enorme quantidade de sobrecarga e atrasa todo o processo.
Minhas perguntas:
- Estou avaliando a situação corretamente? Sei que é difícil saber sem conhecer os servidores, mas o FTP realmente é um saco de tanta coisa ao transferir toneladas de arquivos pequenos?
- Existem ajustes no wget ou no ncftpget para permitir uma melhor execução do servidor FTP remoto? Ou talvez algum tipo de paralelismo?