web-dev-qa-db-ja.com

巨大なファイルをすばやく転送するためのrsyncの最適化

これは私が必要なものです:

  • ソースサーバーで実行されているRsyncデーモン。宛先サーバーは、以下のようにrsyncプルを実行します。
    rsync -ptv rsync:// source_ip:document/source_path/*。abc destination_path /
  • 巨大なバイナリファイル(3 GB〜5 GB)が、LAN経由でソースマシンから宛先にコピーされます。したがって、暗号化/復号化は必要ありません。したがって、SSHを使用しません。宛先マシンはrsyncデーモンに直接接続します。
  • Rsyncプルの前は、宛先フォルダーは常に空です。したがって、一部のファイルを条件付きで更新することについて心配する必要はありません。 Rsyncプルは常に宛先に(更新ではなく)新しいファイルを作成します。したがって、チェックサムを計算するためにrsyncは必要ありません。

受信側でrsyncによって消費されるCPUの量に満足していませんか?上記のケースでrsyncの使用を最適化するのに役立つrsyncオプションはどれですか。私が心配しているのは、rsyncが必要以上のことをしているのではないかということです。 rsyncチェックサムファイル。必要ありません。

また、速度の向上も期待しています。

ブロックサイズの変更、チェックサムの無効化などは役に立ちますか?

19
Varun

--whole-fileまたは-Wスイッチを確認することをお勧めします。 rsyncがローカルファイルシステムのコピーを実行している場合、これはデフォルトで有効になっていますが、LAN速度が高く、ネットワークを介して同期している場合は、ドキュメントの使用が推奨されると思います。

基本的には、rsyncデルタアルゴリズムを無効にし、異なると思われる場合はファイル全体を転送します。

-cを強制しない限り、チェックサムについて心配する必要はありません。デフォルトでは、最終変更時刻とファイルサイズのみを確認し、これらの値が異なる場合はファイルが異なると想定します。

27
growse