Atualmente, estou usando o rsync para transferir arquivos grandes de um host para outro. Gostaria de limitar o débito para esta transferência. Depois de ler a página de manual, encontrei a opção --bwlimit, que espera um valor de KB / s.
Quero limitar a transferência para cerca de 100Mbit / s. Então, usei as seguintes configurações:
rsync --progress -v --bwlimit=10000 --temp-dir=/tmp srv:/tmp/* /tmp/
Mas isso não parece ser respeitado de acordo com a saída do rsync:
file.sql.gz
570851702 100% 33.90MB/s 0:00:16 (xfer#5, to-check=34/39)
file.sql.gz
11195140 100% 7.45MB/s 0:00:01 (xfer#6, to-check=33/39)
file.sql.gz
51439169 100% 19.41MB/s 0:00:02 (xfer#7, to-check=32/39)
file.sql.gz
34022 100% 1.55MB/s 0:00:00 (xfer#8, to-check=31/39)
file.sql.gz
2305698 100% 6.96MB/s 0:00:00 (xfer#9, to-check=30/39)
file.sql.gz
2152942 100% 2.73MB/s 0:00:00 (xfer#10, to-check=29/39)
file.sql.gz
86655633 100% 19.33MB/s 0:00:04 (xfer#11, to-check=28/39)
file.sql.gz
3614476032 40% 34.82MB/s 0:02:28
Se não estou errado: 19.33MB / s ~ = 154Mbit / s
Então, o que há de errado aqui?
PS: rsync versão 3.0.6 protocolo versão 30
Obrigado pela ajuda !
Respostas:
Eu acho que você experimentou algumas "explosões", como mencionado na página de manual:
Então, como eu perguntei antes, a proporção geral no final do seu trabalho estava finalmente limitada a 10 milhões.
fonte
Conforme mencionado na página de manual do rsync , ele é transferido em KByte / s:
fonte
--bwlimit=100
, obtenho 275kB / s, muito regular entre 265-285 kB / s, sem rebentamentos. O que há de errado aqui?100 Mbit / s é (aproximadamente) 10 MByte / s, que é de fato 10.000 KByte / s. Se você estiver com
rsync
problemas, talvez a ferramenta separadatrickle
ajude:fonte
O valor mostrado é a taxa de transferência efetiva, que inclui a aceleração da compactação e o algoritmo delta. Isso pode ser facilmente observado através de números grandes, se uma
rsync
sessão interrompida for reiniciada com as transferências parciais ativadas (ex--append-verify
).fonte