2012-04-01 2 views
1

Мне нужно перенести большой каталог на другой сервер.Ускорить rsync, запустив сразу несколько экземпляров?

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

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

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

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

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

ответ

1

Я не знаю другого инструмента, но два параллельных сеанса RSSync, безусловно, будут в порядке.

Однако вам необходимо разделить каталог внимательно. Два rsyncs с идентичными параметрами будут контрпродуктивными или просто сломаны (потенциально).

Также обратите внимание на совместное использование SSH. Это очень полезно для быстрой аутентификации, но я не уверен, что вы не отправляете все данные по одному и тому же потоку TCP.

+0

Я думаю, что я просто напишу быстрый скрипт, который захватывает список файлов из rsync -va -dry-run, а затем перебирает через него запись по записи и передает каждый файл с помощью отдельной команды rsync в подпроцессе. У меня установлена ​​проверка подлинности ключа, поэтому она будет работать без пароля authenticaiton ... –

+0

Поскольку вы после скорости, вы можете обнаружить, что вырезание его в 100-портовые фрагменты файлов, скажем, может превзойти rsync для отдельных файлов? (Я имею в виду, что каждый раз возникают проблемы с созданием нового соединения.) Кроме того, если есть подкаталоги, которые должны быть созданы, может быть состояние гонки там? Наконец, не путайте соединение SSH * совместное использование * с аутентификацией ключа: первая только * притворяется *, чтобы открыть новую ссылку, а вторая фактически делает. – ams

Смежные вопросы