Rsync --bwlimit không hoạt động


12

Tôi hiện đang sử dụng rsync để chuyển tập tin lớn từ máy chủ sang máy chủ khác. Tôi muốn giới hạn ghi nợ cho việc chuyển nhượng này. Sau khi đọc trang man tôi đã tìm thấy tùy chọn --bwlimit đang mong đợi giá trị KB / s.

Tôi muốn giới hạn transfert thành arround 100Mbit / s Vì vậy, tôi đã sử dụng các cài đặt sau:

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

Nhưng điều này dường như không được tôn trọng theo đầu ra của 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

Nếu tôi không sai: 19,33 MB / s ~ = 154Mbit / s

Vậy có gì sai ở đây?

PS: rsync phiên bản 3.0.6 giao thức phiên bản 30

Cảm ơn bạn đã giúp đỡ !


Ở đây, nó hoạt động với rsync 3.0.4 (Ubuntu), 3.0.6 (openSUSE) và 3.0.9 (Ubuntu) sử dụng cùng một tham số. Bạn phải cung cấp thêm thông tin về hệ thống của bạn.
SCAI


@mreithub Câu trả lời trong bài này thực sự thú vị nhưng thực sự Hugo dường như chuyển các tệp khá lớn.
Scai

rsync bwlimits cho mỗi tệp, để giới hạn bw, bạn nên giới hạn kết nối, (trên linux sử dụng iptables + tc atmail.com/kb/2009/throttling-bandband ), vì vậy không có cách nào dễ dàng.
zb '

Xin chào, tôi đang chạy RHEL 6 nhưng điều này không tạo ra nhiều khác biệt. Có, đây là tệp lớn, vì vậy ghi nợ sẽ gần như ổn định. Để biết thông tin, lệnh tương đương với SCP đang hoạt động rất tốt. Vì vậy, tôi không biết điều gì sai với rsync.
Hugo

Câu trả lời:


10

Tôi nghĩ rằng bạn đã trải nghiệm một số "sự bùng nổ" như được đề cập trong trang web:

--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.

Vì vậy, như tôi đã hỏi trước khi tỷ lệ chung khi kết thúc công việc của bạn cuối cùng bị giới hạn ở mức 10 triệu.


4

Như đã đề cập trong trang man rsync , nó chuyển bằng KByte / giây:

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

2
Đó là những gì tôi đã sử dụng: 10 000 kilobyte = 78.12500 megabits
Hugo

2
Bạn đã không chú ý đến những gì tôi nói. Rsync sử dụng Byte thay vì bit , vì vậy bạn phải tính toán băng thông theo bit và chuyển đổi nó thành byte
shgnInc

Tôi có cùng một vấn đề, khi tôi đặt --bwlimit=100, tôi đạt được 275kB / s, rất đều đặn trong khoảng 265-285 kB / s, không có sự bùng nổ. Có gì sai ở đây?
Brethlosze

2

Tôi muốn giới hạn chuyển đến arround 100Mbit / s Vì vậy tôi đã sử dụng các cài đặt sau:

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

100 Mbit / s là (xấp xỉ) 10 MByte / s, thực sự là 10.000 KByte / s. Nếu bạn đang rsyncbùng nổ thì có lẽ công cụ riêng biệt tricklesẽ giúp:

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

0

Giá trị được hiển thị là tốc độ truyền hiệu quả bao gồm tăng tốc từ nén và thuật toán delta, điều này có thể dễ dàng quan sát bằng cách xem số lượng lớn nếu rsyncphiên bị gián đoạn được khởi động lại khi bật chuyển một phần (ví dụ --append-verify).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.