rsyncで圧縮オプション-zを使用すると、バックアップが高速になりますか?

rsyncで圧縮オプション-zを使用すると、バックアップが高速になりますか?

rsync--compressまたはでは、-z転送中にファイルデータが圧縮されます。

正しく理解したら、転送前にファイルを圧縮し、転送後に解凍します。圧縮による伝送時間の減少は、圧縮および解凍時間よりも大きいか?

質問に対する答えは、USB(2.0または3.0)を介して外部HDDにバックアップするのか、SSH経由でインターネット経由でサーバーにバックアップするのかによって異なります。

答え1

これは一般的な質問です。エンドポイントでの圧縮と圧縮解除によってリンクの有効帯域幅が増加しますか?

エンドポイントで圧縮および解凍を実行するリンクの有効(認識)帯域幅は、次の関数です。

  1. 圧縮速度(CPU速度)はどのくらいですか?
  2. ネットワークの実際の帯域幅

この3D図は、特定の状況について参照できる機能を説明しています。

ここに画像の説明を入力してください。

この写真は圧縮ツールの比較 2005年の記事の著者:http://www.linuxjournal.com/

答え2

接続速度が非常に遅い場合(GPRSなど)、データをできるだけ圧縮する必要があります。それ以外の場合は接続速度が遅くなります。

CPUが非常に遅く、接続速度が速い場合(たとえば、内蔵ネットワークデバイスなど)、通常データを圧縮したくない場合があります。そうしないと、CPU 速度が遅くなります。

答え3

長すぎます。遅い伝送リンクでは圧縮が行われ、そうでなければ圧縮は行われない。以下は、圧縮速度テスト、帯域幅変換ツール、およびいくつかの情報へのリンクです。

rsync圧縮を使用すると、中間リンクが「十分に遅い」場合、つまり一端のシステムが通信リンクを飽和させるのに十分速く圧縮されたデータストリームを生成できる場合にのみ速度が向上します。

それでは、何かを得るために圧縮を使用する必要がある最も遅いリンクは何ですか?

gzip以下は、データがどれだけ早く生成されるのか、そしてこれがネットワークバルク転送を圧縮する必要があるかどうかの意味を示す非常に非科学的なテストです。

入力データはテスト結果を変更します非常に。私は私のコンピュータで圧縮されていない(!)プレーンファイルを扱っています。 (無限のゼロを生成する)を使用すること/dev/zeroは、ゼロのストリームが圧縮するのが非常に簡単であるため、誤解を招くことがありますが、usingは/dev/random逆の理由で誤解を招く可能性があります。だから$HOME/local私が持っているファイルを含むディレクトリのtarファイルを使います$HOME。ファイル自体は圧縮されていませんが、バイナリファイル、小さな圧縮ファイル、およびソース/テキストファイルが混在して含まれており、デフォルトを使用して圧縮すると、設定はgzip64MiBから22MiBに67%縮小されます。

$ gzip -c local.tar | dd of=/dev/null
43092+4 records in
43093+1 records out
22063854 bytes transferred in 2.819 secs (7825741 bytes/sec)

平均を調べるためにこれを数回行ったところ、毎秒約7800000バイトほど出てきました。

それからネットワーク帯域幅計算機(申し訳ありませんが、リンクが壊れています。まだ良い代替品が見つかりませんでした。)リンクが何に変換されているかを確認してください。この特別なケースでは、「100Mbイーサネット」有線リンクの容量のすぐ下にあり、「VDSLダウンロード」インターネットアップリンクよりも高速で、「802.11 [a / g]」ワイヤレスリンクよりもわずかに高速で、「Bluetooth」の間のどこかにあります。 v3.0」(遅い)と「USB 2.0」(高速).

これは私が何でも圧縮を使用する場合を意味します。急いでこれ以外にも圧縮が可能です。ゆっくりファイル転送。

rsync使用されない可能性があります精密圧縮と同じライブラリですgzipが、上記は少なくともいくつかのヒントを提供します。

rsyncご存知のように、これは圧縮以上の機能を果たします。本物速度の増加は、変更されたファイル[ビット]のみを転送することによって発生します。

私の経験によれば、rsync過去10年間でネットワーク帯域幅が増加するにつれて(私がいる場所)圧縮を使用する利点が減少しました。

増分バックアップを実行するには、このオプションを--link-dest調べることをお勧めします。また、SSHを介してこれを実行し、SSH接続がすでに圧縮されている場合は、上記の理由で圧縮を使用せず、低速リンク(トンネルなど)を介したSSH接続のみを圧縮してください。

答え4

データ圧縮の程度と、ソースとターゲットの処理機能によって異なります。私の経験では、フルディスクバックアップは元のサイズの約30〜50%に圧縮されているので、試してみる価値があります。それ以外の場合は、圧縮に気を付けないでください。圧縮率をテストし、pigz -c <your file> | wc -c返されたサイズを元のサイズと比較することをお勧めします。

関連情報