Je voulais sauvegarder un chemin d'un ordinateur de mon réseau vers un autre ordinateur du même réseau sur une ligne à 100 Mbit / s. Pour cela j'ai fait
dd if=/local/path of=/remote/path/in/local/network/backup.img
ce qui m'a donné une vitesse de transfert réseau très faible d'environ 50 à 100 ko / s, ce qui aurait pris une éternité. Alors je l'ai arrêté et j'ai décidé d'essayer de le gzipper à la volée pour le rendre beaucoup plus petit afin que le montant à transférer soit inférieur. Alors j'ai fait
dd if=/local/path | gzip > /remote/path/in/local/network/backup.img.gz
Mais maintenant, je reçois quelque chose comme une vitesse de transfert réseau de 1 Mo / s, soit un facteur de 10 à 20 fois plus rapide. Après avoir remarqué cela, je l'ai testé sur plusieurs chemins et fichiers, et c'était toujours le même.
Pourquoi ne tuyauterie à dd
travers gzip
également d' augmenter les taux de transfert par un facteur au lieu de réduire uniquement le ByteLength du flux par un facteur important? Je m'attendais même à une légère diminution des taux de transfert, en raison de la consommation plus élevée de la part du processeur lors de la compression, mais je reçois maintenant un double plus. Non pas que je ne sois pas heureux, mais je me pose une question. ;)
dd
sortie à 1 Mo / s ... directement dans le gzip
tuyau en attente . Cela a très peu à voir avec la taille des blocs.