¿Hacer que rsync use menos ancho de banda?

46

Uso rsync para hacer copias de seguridad y sincronizar recursos compartidos de red y mi computadora. Tengo esto resuelto.

El problema es que, cuando usa rsync para transferir archivos, usa todo el ancho de banda que puede. Quiero limitar su velocidad, para poder usar mi conexión para otras cosas.

Específicamente, en este momento estoy escuchando Last.FM, pero sigue cortando, ya que rsync está saturando la conexión local.

Parece poco probable, pero en este caso mi LAN es realmente tan rápida como mi internet (¡10 megabits para ambos, yay universidad!). De cualquier manera, no tengo ancho de banda adicional mientras se ejecuta rsync. ¿Algunas ideas?

Ah, por cierto, específicamente estoy ejecutando Ubuntu 9.04.

Mike Cooper
fuente

Respuestas:

67

Use la --bwlimit=KBPS opción para limitar el ancho de banda de E / S, KBytes por segundo

Consulte también la página del manual .

DaveParillo
fuente
Perfecto. No sé por qué me perdí eso en la manpágina la primera vez.
Mike Cooper
8
después del hecho, pero quería señalar que esta opción limita el ancho de banda promedio. el primer archivo se envía a todo volumen y los archivos posteriores se estrangulan para intentar llegar al valor de ancho de banda especificado. para limitar realmente el ancho de banda, querrás estudiar algo comotrickle
joshtronic
1
@joshtronic Me preguntaba si notaste la respuesta de Supervacuo. Ahora he probado esto y puedo responder por el hecho de que "el primer archivo se envía a todo volumen" no es cierto a excepción de los archivos más pequeños.
20

(Esto sería idealmente una respuesta al comentario de joshtronic )

--bwlimit=XXde hecho tiene el problema opuesto; la transferencia es de hecho un promedio móvil, como explica Rsync Basics de manera útil :

Debido a la naturaleza de las transferencias rsync, se envían bloques de datos, luego, si rsync determina que la transferencia fue demasiado rápida, esperará antes de enviar el siguiente bloque de datos. El resultado es una tasa de transferencia promedio que iguala el límite especificado.

No está claro si el promedio se toma entre archivos, pero en cualquier caso no es cierto que

el primer archivo se envía a todo volumen y los archivos posteriores se estrangulan para intentar llegar al valor de ancho de banda especificado

De hecho, el primer archivo se acelerará siempre que sea lo suficientemente grande como para que el promedio se active (lo que significa todos los archivos excepto los más pequeños).

Tiene razón en que el goteo sería una mejor solución, pero lo que entiendo del documento explicativo (" Trickle: A Userland Bandwidth Shaper for Unix-like Systems ") es que trickle también funciona al retrasar la E / S en función de un promedio de transferencia móvil . Supongo que la esperanza al recomendarlo es que use una medición de frecuencia más alta para aplicar el promedio. No he podido encontrar ningún dato en línea que confirme que este sea el caso (aunque el documento anterior se refiere al rsynccódigo de "simple", lo que sugiere que los autores tricklepiensan que el suyo hace un mejor trabajo).

supervacuo
fuente