web-dev-qa-db-fra.com

Optimisation de rsync pour transférer rapidement des fichiers volumineux

C'est ce dont j'ai besoin:

  • Démon Rsync exécuté sur le serveur source. Le serveur de destination effectue une extraction rsync comme ci-dessous:
    rsync -ptv rsync: // source_ip: document/source_path/*. abc destination_path /
  • D'énormes fichiers binaires (3 Go à 5 Go) sont copiés de la machine source vers la destination via un LAN. Aucun cryptage/décryptage n'est donc requis. Par conséquent, n'utilisez pas SSH. La machine de destination se connecte directement au démon rsync.
  • Le dossier de destination sera toujours vide avant l'extraction de rsync. Je n'ai donc pas à me soucier de la mise à jour conditionnelle de certains fichiers. Rsync pull créera toujours de nouveaux fichiers dans la destination (pas de mise à jour). Par conséquent, je n'ai pas besoin de rsync pour calculer les sommes de contrôle.

Je ne suis pas satisfait de la quantité de CPU consommée par rsync à la réception? Quelles options rsync m'aideront à optimiser l'utilisation de rsync dans le cas expliqué ci-dessus. Ce qui m'inquiète, c'est que rsync pourrait faire plus que ce dont j'ai besoin. fichiers de sommes de contrôle rsync. Je n'en ai pas besoin.

J'aimerais également voir des améliorations de vitesse.

Changer la taille du bloc, désactiver la somme de contrôle, etc. vous aidera?

19
Varun

Il semble que vous souhaitiez peut-être jeter un œil au --whole-file ou -W commutateur. Ceci est activé par défaut si rsync effectue des copies du système de fichiers local, mais je pense que les documents recommandent son utilisation si la vitesse du LAN est élevée et la synchronisation sur le réseau.

Fondamentalement, il désactive l'algorithme delta rsync et transfère simplement le fichier entier s'il pense qu'il est différent.

Vous ne devriez pas avoir à vous soucier de la somme de contrôle, sauf si vous forcez -c. Par défaut, il examine uniquement la dernière heure de modification et la taille du fichier, et suppose que les fichiers sont différents si ces valeurs sont différentes.

27
growse