2012-04-08 45 views
19

Tôi đang cố giới hạn băng thông Rsync đang sử dụng bằng cách chỉ định tùy chọn --bwlimit, nhưng có vẻ như nó không hoạt động. Tôi không biết nếu tôi đang làm điều gì đó sai ...:Tốc độ truyền giới hạn Rsync không hoạt động

Tốc độ tải lên tối đa có thể = 10mbit/giây. Tôi muốn giới hạn rsync để khoảng 50%:

Rsync command =

[~] # rsync --version 
rsync version 3.0.7 protocol version 30 

[~] # rsync -a --verbose --partial --bwlimit=500 -e 'ssh -p 2200 -i /share/ssh/id_dsa' [email protected]:/share/MD0_DATA/ /share/LocalData 

Result =

Traffic

============= ================================================== ===============

Giải pháp như được cung cấp bên dưới:

[~] # ipkg install trickle 
Installing trickle (1.06-3) to root... 
Downloading http://ipkg.nslu2-linux.org/feeds/optware/ts509/cross/unstable/trickle_1.06-3_i686.ipk 
Installing libevent (2.0.16-1) to root... 
Downloading http://ipkg.nslu2-linux.org/feeds/optware/ts509/cross/unstable/libevent_2.0.16-1_i686.ipk 
Configuring libevent 
Configuring trickle 
Successfully terminated. 
[~] # trickle -d 500 rsync -a --verbose --partial -e 'ssh -p 2200 -i /share/ssh/id_dsa' [email protected]:/share/MD0_DATA/ /share/LocalData 
trickle: Could not reach trickled, working independently: No such file or directory 
receiving incremental file list 

Trả lời

19

--bwlimit = KBytes/s áp dụng mức trung bình di động để điều tiết thông lượng kết quả, do đó bạn sẽ chỉ nhận thấy nó cho một chuyển lớn hơn đáng kể băng thông sẵn có của bạn.

từ man trang,

khối dữ liệu được gửi đi, sau đó nếu rsync xác định việc chuyển giao là quá nhanh, nó sẽ chờ đợi trước khi gửi khối dữ liệu tiếp theo. Kết quả là tốc độ truyền trung bình bằng với giới hạn được chỉ định.)

Hãy xem xét khái niệm này với thuật toán tinh tế hơn.

+0

Tuyệt vời, nhỏ giọt hoạt động rất tốt. Cảm ơn rất nhiều ! – Daps0l

+1

Đối với bất cứ ai quá lười biếng để đọc trang MAN, KBPS đề cập đến KiloBYTES mỗi giây, không phải KiloBITS mỗi giây. Cảm ơn cho tip, tôi luôn luôn đề cập đến câu trả lời của bạn bằng cách này :) – arrayown

+0

10 mbps là khoảng 1,2 MB/giây, do đó, vẫn còn vượt quá 500 KB/giây. – UtahJarhead

0

Thay vào đó, tôi thực sự thích cstreamhttp://www.cons.org/cracauer/cstream.html.

cstream là một mục đích chung công cụ dòng xử lý như UNIX đ, thường được sử dụng trong ống commandline-xây dựng

Nó có thể là có thể sử dụng nó với rsync, không có kinh nghiệm với điều đó. Dưới đây là một ví dụ về cách sử dụng nó với tar.

http://www.commandlinefu.com/commands/view/2543/throttle-bandwidth-with-cstream

TL; DR

tar -cj /backup | cstream -t 777k | ssh host 'tar -xj -C /backup' 
Các vấn đề liên quan