Utilisation de rsync pour copier quelques gros fichiers (24 Mo chacun) :
bronger@steed:/tmp$ time rsync -r root@my_nas::media/distortion .
Mot de passe :
réel 0m18.128s
utilisateur 0m2.600s
système 0m5.756s
(Soustraire 2 secondes pour la saisie du mot de passe.) Maintenant, la même chose avec NFS :
bronger@steed:/tmp$ time cp -a /mnt/media/distortion .
réel 0m5.569s
utilisateur 0m0.036s
système 0m2.128s
Comment est-ce possible ? Il n'y a ni compression ni chiffrement impliqués, pourtant l'utilisation du CPU du côté du serveur est de 100 %. C'est un NAS avec un CPU ARM lent, mais même alors, toute action de copie devrait être limitée par l'IO.
Le fichier rsyncd.conf indique :
fichier PID = /var/run/rsyncd.pid
fichier de verrouillage = /var/run/rsync.lock
utilisation de chroot = non
[média]
chemin = /volume1/media
commentaire = Volume principal
superposition fictive = oui
uid = 1000
gid = 1000
lecture seule = non
liste = oui
jeu de caractères = utf-8
utilisateurs d'authentification = root
fichier de secrets = /etc/rsyncd.secrets
0 votes
Vous changez à la fois de protocole et de technique. Pourriez-vous ajouter un test avec un rsync local (de répertoire à répertoire) pour comparaison?
0 votes
Je peux changer le protocole, mais le matériel (lecteurs de disque, contrôleurs d'interface réseau) est le même, tout comme le reste de la pile logicielle. Si je synchronise localement le montage NFS (au lieu de cp), cela prend 9 secondes.
1 votes
J'ai trouvé un article LWN. Peut-être que rsync consomme vraiment autant de CPU lors de la transmission de gros volumes de données qu'il ne devrait pas fonctionner sur des appareils lents.