Fazer o rsync usar menos largura de banda?

46

Eu uso o rsync para fazer backup e sincronizar compartilhamentos de rede e meu computador. Eu já descobri isso.

O problema é que, ao usar o rsync para transferir arquivos, ele usa toda a largura de banda possível. Quero limitar a velocidade, para poder usar minha conexão para outras coisas.

Especificamente, no momento estou ouvindo o Last.FM, mas ele continua cortando, pois o rsync está saturando a conexão local.

Parece improvável, mas, neste caso, minha LAN é realmente tão rápida quanto minha internet (10 megabits para ambos, yay university!). De qualquer forma, não tenho largura de banda extra enquanto o rsync está em execução. Alguma ideia?

Oh, aliás, especificamente, eu estou executando o Ubuntu 9.04.

Mike Cooper
fonte

Respostas:

67

Use a --bwlimit=KBPS opção para limitar a largura de banda de E / S, KBytes por segundo

Consulte também a página de manual .

DaveParillo
fonte
Perfeito. Não sei por que perdi isso na manpágina da primeira vez.
Mike Cooper
8
após o fato, mas queria ressaltar que essa opção limita a largura de banda média. o primeiro arquivo é enviado a todo vapor e os arquivos subsequentes são otimizados para tentar reduzir o valor da largura de banda especificada. verdadeiramente largura de banda limite, você iria querer olhar para algo comotrickle
joshtronic
1
@joshtronic Gostaria de saber se você notou a resposta do supervacuo? Agora testei isso e posso garantir que "o primeiro arquivo é enviado a todo vapor" não é verdadeiro, exceto nos arquivos menores.
20

(Idealmente, isso seria uma resposta ao comentário de joshtronic )

--bwlimit=XXde fato, tem o problema oposto; a transferência é realmente uma média móvel - como o Rsync Basics explica de maneira útil :

Devido à natureza das transferências do rsync, os blocos de dados são enviados; se o rsync determinar que a transferência foi muito rápida, ele aguardará antes de enviar o próximo bloco de dados. O resultado é uma taxa de transferência média igual ao limite especificado.

Não está claro se a média é calculada entre os arquivos, mas, em qualquer caso, não é verdade que

o primeiro arquivo é enviado a todo vapor e os arquivos subsequentes são otimizados para tentar reduzir o valor da largura de banda especificada

De fato, o primeiro arquivo será regulado desde que seja grande o suficiente para a média entrar em ação (o que significa todos, exceto os arquivos menores).

Você está certo de que o gotejamento seria uma solução melhor, mas o que eu entendo no artigo explicativo (" Trickle: um modelador de largura de banda da Userland para sistemas tipo Unix ") é que trickle também funciona atrasando a E / S com base em uma média de transferência móvel . Eu acho que a esperança em recomendar isso é que ele use uma medição de frequência mais alta para aplicar a média. Não consegui encontrar nenhum dado on-line que confirme que seja esse o caso (embora o artigo acima se refira ao rsynccódigo de "simples", sugerindo que os autores trickleachem que o trabalho deles é melhor).

supervacuo
fonte