1

У меня есть папка, которая синхронизируется (зеркалируется) удаленно, используя удаленную команду synchronize -mirror -delete remote , через FTP.

Папка, которую я синхронизирую, содержит 209 068 файлов и 19 079 каталогов, и, таким образом, даже для того, чтобы проверить, что все синхронизировано, требуется много времени.

Похоже, что WinSCP делает это, он берет 1 файл за раз и проверяет, не устарел ли он. Если это не так, он загружает его.

Этот процесс занимает вечность. 210K файлов, с пингом не менее 50 мс, что означает около 3 часов простого сравнения файлов! Даже не синхронизируется. (не считая фактического времени обработки даже)

Поэтому мне было интересно, если, возможно, есть способ сделать его пакетным сравнением (запрашивать метаданные для примерно 100 файлов за один раз) или, возможно, создать буфер из 100 запросов за раз, который будет идти намного быстрее (около В 100 раз быстрее), что составляет 1,8 минуты вместо 3 часов.

Если нет, то, возможно, есть другое программное обеспечение, которое я мог бы использовать лучше для такого рода задач?

Изменить: Почему я думаю, что это делает 1 файл за один раз? При запуске команды sync, это вывод, который я вижу:

E:\sync\a.txt -> \Sync \a.txt

Менее чем через секунду после:

E:\sync\b.txt -> \Sync \b.txt

И так далее, каждый файл показывает в порядке каталога часть секунды после другой

Edit2: исправление

  • При синхронизации папки она идет файл за файлом.
  • При проверке синхронизации папки она идет папка за папкой.

Моя предыдущая информация была неверной, мои извинения.

1 ответ1

1

И ftp, и sftp работают очень медленно при передаче большого количества маленьких файлов.

Если это возможно (то есть, если у вас есть доступ к оболочке ssh), пожалуйста, попробуйте использовать rsync , это должно быть намного быстрее, особенно когда некоторые файлы были перенесены ранее, и только некоторые из них были изменены.

Существует несколько реализаций rsync для Windows. Я бы порекомендовал grsync, так как он имеет графический интерфейс.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .