J'essaie de télécharger l'équivalent d'un an de données à partir d'un serveur FTP NOAA en utilisant wget (ou ncftpget). Cependant, cela prend beaucoup plus de temps qu'il ne le devrait en raison de la surcharge de FTP (je pense). Par exemple, cette commande
time wget -nv -m ftp://ftp:email@ftp.ncdc.noaa.gov/pub/data/noaa/2015 -O /weather/noaa/2015
Ou de même, via ncftpget
ncftpget -R -T -v ftp.ncdc.noaa.gov /weather/noaa/ /pub/data/noaa/2015
Donne un résultat de. 53 minutes pour transférer 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
Lorsque je regarde ce transfert, chaque fichier individuel est transféré assez rapidement (500 Ko / s), mais le processus de téléchargement de 12 000 fichiers relativement petits entraîne une énorme surcharge et ralentit l'ensemble du processus.
Mes questions:
- Suis-je en train d'évaluer correctement la situation? Je me rends compte que c'est difficile à dire sans connaître les serveurs, mais FTP aspire-t-il vraiment autant lors du transfert de tonnes de petits fichiers?
- Existe-t-il des ajustements à wget ou ncftpget pour leur permettre de jouer plus agréablement avec le serveur FTP distant? Ou peut-être une sorte de parallélisme?