nfs-shareからローカルディレクトリにファイルをコピーすると、rsyncはcpと比較して非常に遅くなります(8〜10倍)。

nfs-shareからローカルディレクトリにファイルをコピーすると、rsyncはcpと比較して非常に遅くなります(8〜10倍)。

仮想マシンストレージ用の新しいバックアップサーバーとして使用されるUbuntuサーバーを新しくインストールしました。サーバーには4つのネットワークカードがあり、そのうちの2つはSAN接続用の10Gbit(実際に最新のドライバを搭載したIntel x540-T2)です。 nfs-shareをローカルにインストールし、30個程度のファイルと15個程度の仮想マシンイメージ、そのログファイルが入っているディレクトリをコピーする時の速度差を比較してみました。画像サイズは8GBから600GBまでです。

使用:

cp -rf /mnt/nfs-share /backup-storage/

bmonは約600MiB / sを示しています。

使用

rsync -av /mnt/nfs-share /backup-storage/

bmonは最初の数秒間いくつかのパケットを表示し、約30秒間一時停止してから約60-75MiB / sに増加します。 CPU使用量は約60%程度になります。

rsync同じパフォーマンスを使用するには、何を変更する必要があり、変更できますかcp

答え1

cp私の考えでは、との違いがかなり明確だと思いますrsync。参考までに、次の記事を参照してください。rsync パフォーマンスの概要

抜粋:
The four commands tested were:

    rsync $SRC $DEST
    echo $SRC | cpio -p $DEST
    cp  $SRC $DEST
    cat $SRC > $DEST/$SRC

The results for rsync, cpio, cp, and cat were:

user    sys     elapsed hog MiB/s   test
5.24    77.92   101.86  81% 100.53  cpio
0.85    53.77   101.12  54% 101.27  cp
1.73    59.47   100.84  60% 101.55  cat
139.69  93.50   280.40  83% 36.52   rsync

私はrsync毎日それを使用しています。この状況を改善するためにできることはいくつかあります。

たとえば、次のようにスイッチを試すことができます-W

-W, --whole-file            copy files whole (w/o delta-xfer algorithm)

また、バージョン3.xを使用していることを確認することをお勧めしますrsync。新しいバージョンにアップグレードすると確かに改善されます。

答え2

rsyncをcpと同じパフォーマンスにする方法は、スペルを「cp」として書くことです。

最終的な効果は同じかもしれませんが、2つのコマンド間の違いは依然として重要です。特に、rsync は、ファイルまたはファイルの一部をコピーする必要があるかどうかを確認するために、多くの読み取り操作を実行します。

rsyncを使用したい理由はありますか? cpは「盲目的に」コピーするので、より高い生のパフォーマンスを見ることができます。一連のトリガーにrsyncの「増分転送」メカニズムを使用すると、報告された方法で転送速度が低下し、CPU使用率が大幅に増加することがわかります。

答え3

このユースケースでは、rsync不必要に複雑なシステムです。ファイル変更時間とファイルサイズを比較して同期することに同意する場合は、両端でファイルシステムメタデータを収集して比較し、(ローカル)コマンドで変更された(または新しい)ファイルをコピーしますcp

以下を実行するこの小さくシンプルな同期プログラムに興味があるかもしれません。Fitus/Zaloha.sh

使用方法は次のとおりです。

$ Zaloha.sh --sourceDir="test_source" --backupDir="test_backup"

分析ステップ中の最大速度のためにオプションを使用して、リカバリスクリプトの生成をスキップできます--noRestore。また、Expressインストーラがインストールされている場合は、それを使用することをmawk選択してください。--mawk

Zaloha.shコマンドを介してファイルシステムメタデータを収集しますfind。残りの質問は、findNFS共有のパフォーマンスに関するものです。

関連情報