Acelerar o rsync executando várias instâncias de uma só vez?

4

Eu tenho que transferir um diretório grande para outro servidor.

Meu problema é que não posso usar toda a largura de banda disponível, porque um fluxo de tcp simultâneo não é tão rápido.

Basicamente, a funcionalidade que qualquer gerenciador de downloads suporta atualmente.

Portanto, eu gostaria de fazer fluxos de dados simultâneos.

No entanto, não consigo encontrar um programa que suporte isso, então pensei em executar várias instâncias ou rsync de uma só vez.

Esta é uma boa ideia ou você pode me indicar a direção de uma ferramenta mais adequada?

    
por The Shurrican 01.04.2012 / 19:39

2 respostas

3

Você pode substituir o rsync pelo lftp - veja meu post no Superusuário:

link

O único problema pode ser que o lftp não "apenas transfira os arquivos alterados / adicionados". Mas posso garantir, é o caminho mais rápido que vi para transferir dados de uma maneira multi-threaded.

    
por 02.04.2012 / 10:37
5

A propósito, o problema que você levanta, o de uma conexão TCP não conseguir ser rápida o suficiente para usar toda a sua largura de banda, ocorre apenas em cenários onde o produto de atraso de largura de banda é grande, o que é o caso somente poucas redes. Em LANs o atraso é pequeno, o que mantém o produto pequeno e nas WANs a largura de banda é pequena, mantendo o produto pequeno.

Se você tem uma rede com um produto de atraso de largura de banda muito grande, há algumas coisas que você pode fazer para ajustar o TCP para trabalhar com ele, começando com o aumento do tamanho da janela e aumentando o caminho MTU (bem, isso é um ajuste de IP, não um tweak TCP, mas se aplica!). Veja artigos escritos sobre redes de pesquisa para mais sobre isso. Para obter mais ajuda sobre como ajustar o TCP ao seu cenário, talvez seja necessário descrever sua rede específica.

Quanto ao uso do rsync, você não pode executar dois rsyncs simultâneos copiando os mesmos arquivos ao mesmo tempo.

a única coisa que posso pensar que você pode fazer no nível de rsync é dividir seu diretório em vários subdiretórios e transferi-los um por um em paralelo.

    
por 01.04.2012 / 19:55