私は通常、インターネット経由でファイルを転送するときに、rsyncの-zオプションを使用して圧縮を有効にします。ただし、自分の(アイドル)ギガビットLANを使用している場合でも、圧縮は必要ですか?それともそれなしでより速くなりますか?これはどの要素に依存しますか? (まだベンチマークを行っていません)。
つまり、基本的には、圧縮+転送+解凍、または単に非圧縮で転送する方が高速ですか?
ネットワーク接続が遅い場合は、圧縮する方が明らかに良いですが、すべてがギガビットイーサネットネットワークで実行されている場合はどうでしょうか。
Rsync転送中に、CPUがバインドされているか、リンクが飽和していますか。
私はこれを頻繁に使用して、サーバー間および非常に長いデータ転送中にデータを移行しています...
短い答えは、特定のデータでテストすることです...これは本当に簡単です。圧縮をオフにしてLAN転送を試してから、圧縮をオンにして試してください...
GigE以上の接続でのいくつかの環境にわたる実稼働データセットの私の経験では、rsync圧縮スロットル転送を最大40メガバイト/秒()またはギガビットリンクの理論上の最大速度の33%に有効化)。
その速度は、転送されるファイルのサイズと数によっても変化しました(たとえば、小さなファイルのロット、たとえば、全体的なrsyncスループットが低下しました)。送信者と受信者のストレージサブシステムも重要でした。
最近、LAN転送に変更されたrsyncを使用しています。 DRライブラリをrsync(UDP転送を許可)で使用し、圧縮と暗号化を無効にすることで、ワイヤスピードを得ることができますファイル数に関係なく、ファイルタイプが混在するrsync転送。
Zoredacheが言ったように、リンクが飽和していない場合は-zはありません。また、長い転送の管理に役立つと思われるものとして、bwlimitフラグがあります。
Zoredacheからの回答を補足するいくつかの詳細:
マシンでtop
を使用して、CPU使用率を確認します。特に送信機で。リモートの場合は、ssh
を使用して送信者に到達します。
意味のある速度を示すのに十分な大きなファイルがある場合は、--progress
オプションを指定してrsyncを使用します。ファイルがほとんど小さい場合は、ネットワーク速度についてはあまりわかりません。その場合...
ネットワーク速度を確認するには、いずれかのマシンでnload
を使用します
疑わしい場合は、圧縮しないでください。
ほとんどの大きなファイルは通常、既に圧縮されています(映画、写真、インストーラーなど)。したがって、それらをさらに圧縮しようとすると、時間の無駄になります。