Я пытаюсь загрузить данные за год с FTP-сервера NOAA с помощью wget (или ncftpget). Тем не менее, это занимает больше времени, чем следовало из-за накладных расходов FTP (я думаю). Например, эта команда
time wget -nv -m ftp://ftp:email@ftp.ncdc.noaa.gov/pub/data/noaa/2015 -O /weather/noaa/2015
Или аналогично, через ncftpget
ncftpget -R -T -v ftp.ncdc.noaa.gov /weather/noaa/ /pub/data/noaa/2015
Дает результат. 53 минуты на перевод 30М!
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
Когда я наблюдаю эту передачу, каждый отдельный файл передается довольно быстро (500 КБ / с), но процесс загрузки 12 000 относительно небольших файлов влечет за собой огромные накладные расходы и замедляет весь процесс.
Мои вопросы:
- Я правильно оцениваю ситуацию? Я понимаю, что трудно понять, не зная серверов, но действительно ли FTP так много сосет при передаче тонны маленьких файлов?
- Есть ли какие-либо настройки для wget или ncftpget, чтобы они могли лучше играть с удаленным FTP-сервером? Или, может быть, какой-то параллелизм?