Question Devrais-je utiliser la compression rsync sur un réseau local gigabit?


J'utilise normalement l'option -z de rsync pour activer la compression lors du transfert de fichiers sur Internet. Cependant, si je suis sur mon propre réseau LAN gigabit (inactif), est-ce que je veux toujours une compression? Ou sera-ce plus rapide sans cela? De quels facteurs dépend-il? (Je n'ai pas encore fait de repères).

En résumé, est-il plus rapide de: compresser + transférer + décompresser ou simplement transférer sans compression?

Si votre connexion réseau est lente, il est évidemment préférable de compresser ... mais que se passe-t-il si tout fonctionne sur un réseau Ethernet gigabit?


4
2017-07-18 17:43


origine




Réponses:


Pendant un transfert rsync, votre CPU est-il lié ou votre lien est-il saturé?

  • Si votre lien est saturé, mais que votre processeur est inactif, alors compressez.
  • Si votre CPU est au maximum et que votre lien ne l’est pas, ne compressez pas.

13
2017-07-18 17:48



Je ne peux accéder à l'utilisation du processeur qu'à une extrémité du rsync, mais cela devrait suffire. Je peux mesurer le trafic de téléchargement d'un bout à l'autre et aussi voir le trafic global de mon routeur. ça devrait me mener quelque part. Merci beaucoup! - Corey Goldberg
Oh, et il est tout à fait possible de ne pas être lié au processeur ou au réseau. Vous pourriez être limité par les performances de votre sous-système de stockage. Dans ce cas, compression ou non ne fera pas vraiment de différence. La seule façon de résoudre ce problème consiste à acheter un disque plus rapide. - Zoredache
Cela peut paraître trop évident, mais je vous ferai remarquer que vous devez déterminer quel type de données vous envoyez et s’il est judicieux de le compresser. Envoi de plusieurs fichiers journaux, oui, compressez toujours. Envoyer des formats de fichier déjà compressés comme JPEG, MP3, MKV ou même ZIP? La compression pendant le transfert est probablement inutile. - pzkpfw


Je travaille cela assez souvent, en migrant des données entre serveurs et lors de transferts de données d'une longueur impossible ...

La réponse courte est de tester avec votre spécifique données ... C'est vraiment facile à faire. Essayez un transfert LAN avec compression désactivée, puis essayez-le avec compression ...

D'après mon expérience avec des ensembles de données de production dans quelques environnements, sur une connexion GigE ou supérieure, permettant des compressions de compression rsync limitées à environ 40 Mégaoctets / seconde (ou 33% de la vitesse maximale théorique d'une liaison Gigabit).

Ce taux variait également selon la taille et le nombre de fichiers transférés (beaucoup de petits fichiers, par exemple, ont réduit le débit global de rsync). Les sous-systèmes de stockage de l'expéditeur et des destinataires importaient également.

Récemment, j'ai utilisé un rsync modifié pour les transferts LAN. En utilisant le Bibliothèque UDR Avec rsync (autoriser le transfert UDP) et en désactivant la compression et le cryptage, je peux obtenir des transferts rsync à vitesse filaire avec des types de fichiers mélangés, quel que soit le nombre de fichiers.


5
2017-07-19 07:06



Je suppose que cela pourrait être amélioré en réduisant le niveau de compression à 1, voire légèrement plus haut. Je n'ai pas encore trouvé de tests qui discutent de cette option. - William T Froggard


Comme dit Zoredache, si votre lien n'est pas saturé, pas -z. En outre, le drapeau bwlimit est un autre élément que vous pouvez envisager pour vous aider à gérer les longs transferts.


1
2017-07-18 18:12



Selon le manuel, bwlimit drapeau allows you to specify the maximum transfer rate for the data sent over the socket. Pouvez-vous expliquer pourquoi cette fonctionnalité permet de gérer les longs transferts? - Samuel Li


Quelques détails pour compléter la réponse de Zoredache:

  • Utilisation top sur les machines pour vérifier l'utilisation du processeur. Particulièrement sur la machine d'envoi. Utilisation ssh obtenir l'expéditeur s'il est distant.

  • Utilisez rsync avec le --progress option si vous avez assez de gros fichiers pour lui montrer des vitesses significatives. Si les fichiers sont généralement de petite taille, cela peut ne pas vous en dire beaucoup sur la vitesse du réseau. Dans ce cas ...

  • Utilisation nload sur l'une des machines pour voir la vitesse du réseau

Et en cas de doute, ne compressez pas.

La plupart des fichiers volumineux sont généralement déjà compressés (films, images, programmes d'installation, ...), aussi essayer de les compresser davantage est une perte de temps.


0
2018-01-02 15:12