Назад | Перейти на главную страницу

Ускорить rsync, запустив сразу несколько экземпляров?

Мне нужно перенести большой каталог на другой сервер.

Моя проблема в том, что я не могу использовать всю доступную полосу пропускания, потому что один параллельный поток TCP не работает так быстро.

В основном функциональность, которую в настоящее время поддерживает любой менеджер загрузок.

Поэтому я хотел бы делать параллельные потоки данных.

Однако я не могу найти программу, которая поддерживает это, поэтому я подумал о том, чтобы просто запустить несколько экземпляров или rsync одновременно.

Это хорошая идея, или вы можете указать мне на более подходящий инструмент?

Между прочим, проблема, которую вы поднимаете, о том, что TCP-соединение не может быть достаточно быстрым, чтобы использовать всю полосу пропускания вашей сети, возникает только в сценариях, где произведение задержки полосы пропускания велико, что имеет место только в очень немногих сетях. В локальных сетях задержка мала, что позволяет уменьшить размер продукта, а в глобальных сетях полоса пропускания мала, что обеспечивает компактность продукта.

Если у вас есть сеть с очень большим продуктом задержки полосы пропускания, есть некоторые вещи, которые вы можете сделать, чтобы настроить TCP для работы с ним, начиная с увеличения размера окна и увеличения MTU пути (ну, это настройка IP, а не TCP твик, но он применим!). Посмотрите статьи, написанные об исследовательских сетях, чтобы узнать больше об этом. Чтобы получить дополнительную помощь в настройке TCP для вашего сценария, вам может потребоваться описание вашей конкретной сети.

Что касается использования rsync, вы не можете эффективно запускать два одновременных rsync, копирующих одни и те же файлы в одно и то же время.

единственное, что я могу придумать, что вы можете сделать на уровне rsync, - это разбить ваш каталог на несколько подкаталогов и передать их один за другим параллельно.

Вы можете заменить rsync на lftp - см. Мой пост на Superuser:

https://superuser.com/questions/75681/inverse-multiplexing-to-speed-up-file-transfer/305236#305236

Единственная проблема может заключаться в том, что lftp «не просто передает измененные / добавленные файлы». Но я могу вас заверить, это самый быстрый способ передачи данных в многопоточном режиме, который я видел.