it-swarm.asia

Rsync'in daha az bant genişliği kullanmasını sağlayın?

Ağ paylaşımlarını ve bilgisayarımı yedeklemek ve senkronize etmek için rsync kullanıyorum. Bunu anladım.

Sorun, dosyaları aktarmak için rsync kullanırken, yapabileceği tüm bant genişliğini kullanmasıdır. Bağlantımı başka şeyler için kullanabilmem için hızını göstermek istiyorum.

Spesifik olarak, şu an Last.FM'yi dinliyorum, ancak rsync yerel bağlantıyı doyurduğundan kesmeye devam ediyor.

Bu pek mümkün görünmüyor, ancak bu durumda LAN'ım internetim kadar hızlı (her ikisi için de 10 megabit, yay üniversitesi!). Her iki durumda da, rsync çalışırken fazladan bir bant genişliğim yok. Herhangi bir fikir?

Oh, btw, özellikle Ubuntu 9.04 kullanıyorum.

45
Mike Cooper

G/Ç bant genişliğini, saniyede KByte sınırlamak için --bwlimit=KBPS seçeneğini kullanın

Ayrıca man sayfası bölümüne bakın.

67
DaveParillo

(Bu ideal olarak bir cevap olacaktır joshtronic adlı kullanıcının yorum )

--bwlimit=XX aslında bunun tersi bir sorundur; transfer gerçekten de hareketli bir ortalama - Rsync Basics'in yardımcı olduğu gibi açıklar :

Rsync transferlerinin niteliği nedeniyle, veri blokları gönderilir, ardından rsync transferin çok hızlı olduğunu tespit ederse, bir sonraki veri bloğunu göndermeden önce bekleyecektir. Sonuç, belirtilen limite eşit bir ortalama transfer hızıdır.

Ortalamanın dosyalar arasında alınıp alınmadığı açık değil, ancak her durumda doğru değil.

ilk dosya tamamen gönderilir ve daha sonra belirtilen bant genişliği değerine inmeye çalışmak için azaltılır

Aslında, ilk dosya ortalama atmaya yetecek kadar büyük olduğu sürece (bu en küçük dosyalar hariç hepsi anlamına gelir) kısılır.

Haklısınız trickle daha iyi bir çözüm olurdu, ama açıklayıcı kağıttan anladığım kadarıyla (" Trickle: Unix benzeri sistemler için bir Kullanıcı Bant Genişliği Şekillendirici ") trickle ayrıca , hareketli bir aktarım ortalamasına bağlı olarak G/Ç'yi geciktirerek çalışır. Sanırım bunu önerme umudu, ortalamayı uygulamak için daha yüksek frekanslı bir ölçüm kullanmasıdır. Durumun böyle olduğunu doğrulayan çevrimiçi bir veri bulamadım (yukarıdaki yazıda rsync 'nin kodunu "basit" olarak belirtmesine rağmen, trickle' nin yazarlarının daha iyi bir iş yaptığını düşündürüyor).

21
supervacuo