Je n'ai aucune raison de penser que rsync est le coupable de cette lenteur.
Je soupçonne que le lecteur lui-même ou son système de fichiers est en cause.
En fait, quelques facteurs laissent entrevoir une cause possible. Vous mentionnez qu'il s'agit d'une clé USB et que vous transférez 150 Go en une seule fois. Je suppose que votre clé USB utilise le système SMR (Shingled Magnetic Recording).
Les lecteurs SMR chevauchent les pistes de telle sorte que la lecture s'effectue normalement, mais chaque écriture sur le lecteur, puisqu'elle écrase également les pistes voisines, exige que le lecteur réécrive une partie importante du disque, et l'écriture est lente. Le miracle, c'est que ces disques fonctionnent normalement la plupart du temps, car le disque remappe les écritures dans une zone de stockage temporaire qui n'utilise pas le SMR, puis les réécrit sur le disque plus tard en arrière-plan. Mais cette zone de stockage n'a qu'une taille de quelques Go, donc pour tout transfert continu de plus de 10 Go, par exemple, la vitesse d'écriture chute de façon spectaculaire à environ 5 Mo/s. Si vous arrêtez d'écrire sur le disque et que vous le laissez tourner au ralenti pendant environ 10 minutes, ses performances reviendront à la normale car il aura eu le temps de vider sa zone d'attente temporaire, mais elles chuteront à nouveau si vous effectuez une autre écriture continue de plusieurs Go.
Malgré certains commentaires contraires, rsync est agréable et rapide lorsqu'il fonctionne localement, en modifiant sa configuration en conséquence. En fonctionnement local, rsync n'utilise pas de transfert delta. Et, puisque la compression du transfert n'a pas de sens quand il s'agit essentiellement d'un tuyau local, je doute que l'option -z
a un quelconque effet, bien que la documentation ne le précise pas. Même si c'est le cas, il ne devrait pas limiter la vitesse à <5MB/s, puisque sa compression est capable de plusieurs fois cette vitesse.
Et, --inplace
n'affecte le comportement de rsync que lorsque le fichier existe à la destination et que seule une partie du fichier doit être mise à jour. Puisque le transfert delta est désactivé lorsque rsync fonctionne en local, je pense qu'il ne devrait avoir aucun effet.