Şu anda toplam 250GB 2.2 milyon dosya için rsync çalıştırıyorum ve bu sadece 6 saat içinde yaşları 700K dosyaları alır.
Herkes daha hızlı gider böylece birden çok iş parçacığı ile bunu yapabilirsiniz bir rsync gibi bir araç biliyor mu?
Şu anda toplam 250GB 2.2 milyon dosya için rsync çalıştırıyorum ve bu sadece 6 saat içinde yaşları 700K dosyaları alır.
Herkes daha hızlı gider böylece birden çok iş parçacığı ile bunu yapabilirsiniz bir rsync gibi bir araç biliyor mu?
Yanıtlar:
CPU'nun burada sınırlayıcı faktör olduğundan şüpheliyim. Büyük olasılıkla hem aktarım için ağ bant genişliği hem de disk G / Ç ile sınırlısınız; özellikle tüm bu stat çağrıları için gecikme.
Paralel işlemek için dosya sistemi hiyerarşisini daha küçük parçalara ayırabilir misiniz?
Kaynak dosyalar nelerdir ve ne yazıyor ya da değiştiriyor? Değişiklikleri uygulama düzeyinde gerçekleştikçe göndermek mümkün müdür?
Alıcı sunucunun disk alt sistemi birden çok diske sahip bir diziyse, birden fazla rsync işlemi çalıştırmak performansı artırabilir. Gigabit Ethernet'i doyurmak için dosyaları bir NFS sunucusuna (raid grubu başına 6 diskli RAID6) kopyalamak için 3 rsync işlemi çalıştırıyorum.
Bu adam, birden fazla rsync sürecini ortaya çıkaran temel bir python koşum takımı hakkında rapor hazırlıyor http://www.reliam.com/company/featured_geek
Linux için çok iş parçacıklı cp klonunu kontrol etmeyi düşünebilirsiniz (açık kaynak): http://static.usenix.org/event/lisa10/tech/slides/kolano.pdf