W tej chwili korzystam z rsync dla 2,2 miliona plików o łącznej pojemności 250 GB, a to zajmuje 700 000 plików w wieku 6 godzin.
Czy ktoś zna narzędzie podobne do rsync, które może to zrobić z wieloma wątkami, aby działało szybciej?
W tej chwili korzystam z rsync dla 2,2 miliona plików o łącznej pojemności 250 GB, a to zajmuje 700 000 plików w wieku 6 godzin.
Czy ktoś zna narzędzie podobne do rsync, które może to zrobić z wieloma wątkami, aby działało szybciej?
Odpowiedzi:
Wątpię, czy procesor jest tutaj czynnikiem ograniczającym. Najprawdopodobniej jesteś ograniczony zarówno przepustowością sieci do przesyłania, jak i dyskowym We / Wy; szczególnie opóźnienie dla wszystkich tych wywołań statystyk.
Czy można rozbić hierarchię systemu plików na mniejsze części, aby przetwarzać je równolegle?
Co to są pliki źródłowe i co je zapisuje lub modyfikuje? Czy byłoby możliwe wysyłanie zmian w miarę ich pojawiania się na poziomie aplikacji?
Jeśli podsystemem dysku serwera odbierającego jest tablica z wieloma dyskami, uruchomienie wielu procesów rsync może poprawić wydajność. Korzystam z 3 procesów rsync, aby skopiować pliki na serwer NFS (RAID6 z 6 dyskami na grupę raidów) w celu nasycenia Gigabit Ethernet.
Ten facet donosi o podstawowej wiązce python, która odradza wiele procesów rsync http://www.reliam.com/company/featured_geek
Przeczytałem wiele podobnych pytań. Myślę, że jedyną prawdziwą odpowiedzią jest ręczne podzielenie kopii / przeniesienie. Problemem będzie tutaj IOps. Jeśli to sprawi, że poczujesz się lepiej, jestem w trakcie przenoszenia ~ 200 milionów plików zużywających znacznie ponad 100 TB miejsca na dysku.
Możesz rozważyć sprawdzenie wielowątkowego klonu cp dla Linuksa (open source): http://static.usenix.org/event/lisa10/tech/slides/kolano.pdf