En ce moment, j'utilise rsync pour 2,2 millions de fichiers totalisant 250 Go et cela prend seulement 700 000 fichiers en 6 heures.
Est-ce que quelqu'un connaît un outil de type rsync qui peut le faire avec plusieurs threads pour qu'il aille plus vite?
Réponses:
Je doute que le processeur soit le facteur limitant ici. Vous êtes très probablement limité à la fois par la bande passante réseau pour le transfert et par les E / S disque; en particulier la latence pour tous ces appels de statistiques.
Pouvez-vous décomposer la hiérarchie du système de fichiers en petits morceaux à traiter en parallèle?
Quels sont les fichiers source et qu'est-ce qui les écrit ou les modifie? Serait-il possible d'envoyer des modifications à mesure qu'elles se produisent au niveau de l'application?
la source
Si le sous-système de disques du serveur de réception est une baie avec plusieurs disques, l'exécution de plusieurs processus rsync peut améliorer les performances. J'exécute 3 processus rsync pour copier des fichiers sur un serveur NFS (RAID6 avec 6 disques par groupe de raid) pour saturer Gigabit Ethernet.
Ce gars rapporte un harnais de base en python qui génère plusieurs processus rsync http://www.reliam.com/company/featured_geek
la source
J'ai lu de nombreuses questions similaires à celle-ci. Je pense que la seule vraie réponse est de briser la copie / déplacer manuellement. IOps sera le problème ici. Si cela vous fait vous sentir mieux, je suis en train de déplacer ~ 200 millions de fichiers consommant bien plus de 100 To d'espace disque.
la source
Vous pouvez envisager de vérifier le clone cp multithread pour linux (open source): http://static.usenix.org/event/lisa10/tech/slides/kolano.pdf
la source