Rsync の同期が遅い

Rsync の同期が遅い

次のコマンドを使用して、rsync (cygwin) を使用して 2 つのドライブを同期していますrsync -a -H /cygdrive/e/ /cygdrive/d/ 。約 3 TB のデータと、おそらく約 100 万のファイル (ハード リンクを含む) があります。正しく記憶していれば、最初の実行には約 1 ~ 2 日かかりました。このコマンドを再実行すると、何も更新されていなくても長い時間がかかります。数時間から 12 時間かかります。これならもっと短時間で済むのではないでしょうか。

答え1

同じシステム上の 2 つの場所間でコピーしています。これにより、デルタ アルゴリズムがオフになり、rsyncの高度な実装に戻りますcp -a

この-Hフラグrsyncにより​​、ターゲット内のハード リンクを再構築できるように、複数のハード リンクを持つすべてのファイルの記録を保持する必要があります。これにより、メモリ使用量が増加します (経験的にはかなり多いと言えます)。その結果、システムにかかる負荷が増大する可能性があります。

最後に、Cygwin はrsyncネイティブの UNIX/Linux 実装よりもかなり低速です。これが Windows 上で互換性レイヤーを使用しているためなのか、ファイルシステムが遅いためなのか、あるいはまったく別の理由なのかはわかりません。ただし、同じハードウェア上で同じファイル セットを実行する場合、速度は遅くなります。

答え2

これは完全な回答ではありませんが、同じ状況に陥っている人にとっては非常に価値があると思います。私は最終的に Linux から rsync を実行しましたが、問題なく動作しました。この問題が発生する場合は、少なくとも CD からでも Ubuntu/CentOS またはお好みの Linux ディストリビューションを起動して、動作するかどうかを確認してください。

関連情報