rsync - デルタ転送プロトコルCPU使用率とコピー速度を含むファイル全体

rsync - デルタ転送プロトコルCPU使用率とコピー速度を含むファイル全体

LAN経由でファイルをコピーする速度をテストしています。 1GBの/dev/urandomデータを生成し、1Gbpsネットワークを介して別のシステムにコピーしました。

rsync転送速度(-aオプションのみ)は約17 MB / sです。 -W を追加した rsync 転送速度は 110MB/s で安定しています。

私の特別なケースは、コピーする前に毎回ファイルを生成するので、ファイル全体をコピーしたいということです。 -aオプションがない場合、合計4つのコアのうちの1つの使用量が100%で表示されます。私の考えでは、rsyncが送信するデルタを計算するので、ボトルネックが発生しているようです。

質問:増分計算を「マルチコア」にすることは可能ですか?これでCPUの25%しか使用されません。

ベストアンサー1

1つのファイルに対して帯域幅の最適化を取得できない場合、または計算に複数のコアを使用しない場合がありますが、より多くのファイル、特に何千ものファイルがあり、それらのいくつかを更新する必要がある場合は、次のようにxargsを使用できます。

ls /your/local/folder/ | xargs -n1 -P4 -I% rsync -Pa % ursrv.com:/remote/folder/

このコマンドラインはすべてのフォルダ/ファイルを一覧表示し、入力パラメータをフォルダまたはファイルとして使用して4つのrsyncインスタンスを実行します。これは直接的なマルチコアではありませんが、rsyncの複数のインスタンスを実行するので、確実にCPUをより効率的にロードできます。

おすすめ記事