Czy rsync używa mniejszej przepustowości?

46

Używam rsync do tworzenia kopii zapasowych i synchronizacji udziałów sieciowych i mojego komputera. Rozpracowałem to.

Problem polega na tym, że gdy używasz rsync do przesyłania plików, używa całej dostępnej przepustowości. Chcę ograniczyć prędkość, aby móc używać mojego połączenia do innych celów.

W szczególności teraz słucham Last.FM, ale wciąż się wyłącza, ponieważ rsync nasyca lokalne połączenie.

Wydaje się to mało prawdopodobne, ale w tym przypadku moja sieć LAN jest naprawdę tak szybka jak mój internet (10 megabitów dla obu, uniwersytet yay!). Tak czy inaczej, nie mam dodatkowej przepustowości, gdy rsync jest uruchomiony. Jakieś pomysły?

Och, przy okazji, konkretnie używam Ubuntu 9.04.

Mike Cooper
źródło

Odpowiedzi:

67

Użyj --bwlimit=KBPS opcji, aby ograniczyć przepustowość we / wy, w kilobajtach na sekundę

Zobacz także stronę man .

DaveParillo
źródło
Doskonały. Nie wiem, dlaczego manza pierwszym razem tęskniłem .
Mike Cooper,
8
po fakcie, ale chciałem zauważyć, że ta opcja ogranicza średnią przepustowość. pierwszy plik jest wysyłany z pełną mocą, a kolejne pliki są dławione, aby spróbować zejść do określonej wartości przepustowości. aby naprawdę ograniczyć przepustowość, powinieneś przyjrzeć się czegoś takiegotrickle
joshtronic,
1
@joshtronic Zastanawiałem się, czy zauważyłeś odpowiedź supervacuo? Przetestowałem to teraz i mogę ręczyć za to, że „pierwszy plik jest wysyłany z pełną mocą” nie jest prawdą, z wyjątkiem najmniejszych plików.
20

(Idealnie byłaby to odpowiedź na komentarz joshtronic )

--bwlimit=XXw rzeczywistości ma odwrotny problem; transfer jest rzeczywiście ruchomą średnią - jak wyjaśnia Rsync Basics :

Ze względu na naturę transferów rsync wysyłane są bloki danych, a jeśli rsync stwierdzi, że transfer był zbyt szybki, poczeka przed wysłaniem następnego bloku danych. Wynikiem jest średnia szybkość transferu równa podanemu limitowi.

Nie jest jasne, czy średnia jest pobierana między plikami, ale w każdym razie nie jest to prawdą

pierwszy plik jest wysyłany z pełną mocą, a kolejne pliki są dławione, aby spróbować zejść do określonej wartości przepustowości

W rzeczywistości pierwszy plik będzie dławiony, o ile jest wystarczająco duży, aby uśrednić go (co oznacza, że ​​wszystkie pliki oprócz najmniejszych).

Masz rację, ta strużka byłaby lepszym rozwiązaniem, ale rozumiem z artykułu wyjaśniającego („ Trickle: Userland Bandwidth Shaper for Unix-like Systems ”) jest to, że działa trickle również poprzez opóźnianie operacji we / wy na podstawie średniej ruchomej transferu . Wydaje mi się, że mam nadzieję, że zalecę, aby zastosować pomiar wyższej częstotliwości do zastosowania średniej. Nie udało mi się znaleźć w Internecie żadnych danych, które by to potwierdziły (chociaż powyższy artykuł odnosi się do rsynckodu jako „prostego”, co sugeruje autorom, trickleże ich zdaniem lepiej sobie radzi).

supervacuo
źródło