ネットワーク内のコンピューターから同じネットワーク内の別のコンピューターへのパスを100 Mbit / s回線でバックアップしたかった。このために私はやった
dd if=/local/path of=/remote/path/in/local/network/backup.img
これにより、ネットワーク転送速度が非常に低くなり、約50〜100 kB / sになりました。これは永遠にかかっていたはずです。そこで、私はそれを止めて、その場でgzip圧縮して、転送量が少なくなるように、はるかに小さくすることにしました。だから私はやった
dd if=/local/path | gzip > /remote/path/in/local/network/backup.img.gz
しかし、今では1 MB /秒のネットワーク転送速度のようなものが得られるため、10〜20倍速くなります。これに気づいた後、いくつかのパスとファイルでこれをテストしましたが、常に同じでした。
パイプdd
スルーgzip
は、ストリームのバイト長を大幅に削減するのではなく、転送率を大幅に向上させるのはなぜですか?圧縮中のCPU消費量が増加するため、代わりに転送レートがわずかに低下することも予想されていましたが、今ではダブルプラスになります。私は幸せではないというわけではありませんが、私はただ疑問に思っています。;)
dd
1MB /秒で出力することです...待機gzip
パイプに直接出力されます。ブロックサイズとはほとんど関係ありません。