On 09.03.2017 18:00, Vladislav V. Prodan wrote:
> 
> Здравствуйте.
> 
> Имею задачу синхронизировать ~ 70ГБ  (мелких) файлов 
> backup.dc.volia.com <http://backup.dc.volia.com> - ресолвится в 2 IP. Судя по 
> заставке, там Pure-FTPd
> Пытаюсь так ложить файлы:
> 
> ncftpput -R -m -f $config -z -r 70 -d ${local_dir}/debug.log \
>     / \
>     $dir/`ls $dir | egrep -v 'archive|xxxweb100'`
> 
> через каждые 5-15 минут получаю примерное:
> 2017-03-09 06:56:28  Could not read reply from control connection -- timed 
> out.

Для синхронизации множества мелких файлов ftp очень плохой протокол,
так как он использует новый TCP-коннект для каждого файла и очень быстро
выжирает диапазон эфемерных портов на стороне сервера при пассивном режиме
и на стороне клиента при активном. Стабильная работа в таких условиях
требует от исходного кода сервера в первом случае и клиента во втором
очень тщательной реализации протокола с оптимизацией под такой шаблон нагрузки,
чтобы софт аккуратно переиспользовал порты.

Штатный ftpd в FreeBSD вылизывали на эту тему в 2002-м и у него этой проблемы 
нет.

Плюс промежуточные statefull-фильтры могут неадекватно реагировать на множество
коннектов и в порядке "защиты от атак" периодически дропать пакеты.

Лучше использовать любой другой протокол, передающий всё в одном коннекте.
В данном случае rsync лучше всего.


_______________________________________________
freebsd mailing list
[email protected]
http://mailman.uafug.org.ua/mailman/listinfo/freebsd

Ответить