Rsync --bwlimit가 작동하지 않습니다


12

현재 rsync를 사용하여 큰 파일을 호스트에서 다른 호스트로 전송하고 있습니다. 이 이체에 대한 직불 결제를 제한하고 싶습니다. 매뉴얼 페이지를 읽은 후 KB-s 값을 기대하는 --bwlimit 옵션을 발견했습니다.

전송을 arround 100Mbit / s로 제한하고 싶기 때문에 다음 설정을 사용했습니다.

rsync --progress -v --bwlimit=10000 --temp-dir=/tmp srv:/tmp/* /tmp/

그러나 이것은 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

내가 틀렸다면 : 19.33MB / s ~ = 154Mbit / s

그래서 여기서 무엇이 잘못 되었습니까?

PS : rsync 버전 3.0.6 프로토콜 버전 30

당신의 도움을 주셔서 감사합니다 !


여기서는 동일한 매개 변수를 사용하여 rsync 3.0.4 (Ubuntu), 3.0.6 (openSUSE) 및 3.0.9 (Ubuntu)와 함께 작동합니다. 시스템에 대한 자세한 정보를 제공해야합니다.
scai


@mreithub이 게시물의 답은 실제로 흥미롭지 만 실제로 Hugo는 오히려 큰 파일을 전송하는 것 같습니다.
scai

각 파일에 대한 rsync bwlimits, bw를 제한하려면 연결을 제한해야합니다 (linux에서는 iptables + tc atmail.com/kb/2009/throttling-bandwidth 사용 ). 그래서 쉬운 방법은 없습니다.
zb '

안녕하세요, RHEL 6을 실행하고 있지만 큰 차이는 없습니다. 예,이 파일은 크기가 크므로 차변이 거의 안정적입니다. 정보를 얻으려면 SCP와 동등한 명령이 훌륭하게 작동합니다. 그래서 rsync에 어떤 문제가 있는지 모르겠습니다.
Hugo

답변:


10

맨 페이지에서 언급 한 것처럼 "버스트 니스"가 발생했다고 생각합니다.

--bwlimit=RATE
          ... 
          Some "burstiness" may be seen where rsync writes out a block 
          of data and then sleeps to bring the average rate into compliance.

전에 말했듯이 작업 종료시 전체 비율이 마침내 10M으로 제한되었습니다.


4

rsync man page 에서 언급했듯이 KByte / sec로 전송됩니다.

--bwlimit=KBPS          limit I/O bandwidth; KBytes per second

2
그것이 내가 사용한 것 : 10,000 킬로바이트 = 78.12500 메가 비트
Hugo

2
내가 말한 것에주의를 기울이지 않았습니다. rsync를 사용 바이트 대신 비트 , 그래서 당신의 대역폭을 계산해야 비트를 하고 그것을 은밀한 바이트
shgnInc

나는 같은 문제가 있는데, 넣을 때 --bwlimit=100265-285 kB / s의 매우 규칙적인 275kB / s를 얻습니다. 여기서 무엇이 잘못 되었나요?
Brethlosze

2

전송을 arround 100Mbit / s로 제한하고 싶습니다. 그래서 다음 설정을 사용했습니다.

rsync --progress -v --bwlimit=10000 --temp-dir=/tmp srv:/tmp/* /tmp/

100 Mbit / s는 (대략) 10 MByte / s이며, 실제로 10,000 KByte / s입니다. rsync파열을 겪고 있다면 별도의 도구 trickle가 도움이 될 것입니다.

trickle -s -d 10000 -u 10000 -t 10 -l 100 rsync --progress -v --temp-dir=/tmp srv:/tmp/* /tmp/

0

표시된 값은 압축 및 델타 알고리즘으로 인한 속도 증가를 포함하는 유효 전송 속도이며, rsync부분 전송이 활성화 된 상태에서 중단 된 세션이 다시 시작 되면 (ex --append-verify) 많은 수를 확인하면 쉽게 확인할 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.