メインコンテンツまでスキップ

小さなファイルが多いS3バケットの一覧取得と同期が遅い問題を解決 — RcloneViewでチューニング

· 約5分
Morgan
Staff Engineer

数十万の小さなファイルがあるバケットの同期が遅いのは、帯域幅ではなくオブジェクトごとのオーバーヘッドが原因であり、いくつかのジョブ設定で改善できます。

写真家のプロキシフォルダーやアプリケーションのログアーカイブには、非常に多くの小さなオブジェクトが含まれることがあります。各オブジェクトに一覧エントリ、比較、リクエストが必要なため、ネットワークに余裕があっても同期は遅くなります。RcloneViewはジョブウィザードで関連するrcloneの設定を提供するため、フラグを書かずに調整できます。S3、Azure、Backblaze B2はFREEライセンスで読み取り/書き込みの両方が可能です。

RcloneViewアプリのプレビュー

すべてのクラウドを一か所で管理・同期

RcloneViewはrcloneのクロスプラットフォームGUIです。フォルダを比較し、ファイルを転送・同期し、クリーンなビジュアルインターフェースでマルチクラウドのワークフローを自動化できます。

  • ワンクリック操作: コピー · 同期 · 比較
  • 信頼性の高い自動化のためのスケジューラーと履歴
  • Google Drive、OneDrive、Dropbox、S3、WebDAV、SFTPなどに対応
WindowsmacOSLinux
無料で始める →

コア機能は無料。Plusで自動化機能を利用可能。

小さなファイルが遅い理由​

大きなファイルではスループットが支配的です。小さなファイルではリクエスト数が支配的です。すべてのオブジェクトが一覧表示され、サイズ・時刻・チェックサムで比較され、個別にアップロードされます。この場合の遅さは、多くはリクエストごとのレイテンシとプロバイダー側のレート制限が原因であるため、帯域を増やしても効果はありません。

ファイル数と速度を表示するTransferringタブ

実行中にTransferringタブを開いてください。速度は低いのにファイル数が着実に増えている場合、帯域幅ではなくリクエスト数がボトルネックです。

ジョブ設定の調整​

同期ウィザードのステップ2で、ファイル転送数を増やすと、より多くのオブジェクトが並列で移動します。equality checkersの既定値は8ですが、遅い、またはスロットリングされるバックエンドでは4以下を使うのが推奨です。同時チェックが多すぎるとスロットリングが発生し、状況が悪化する可能性があるためです。一度に1つの値だけを変更して再実行してください。

転送数とチェッカーのジョブ詳細設定

チェックサム比較を有効にすると、サイズ確認に加えてハッシュ計算が必要になるため、速度より整合性が重要な場合にのみ使用してください。一時的なエラーで長時間のジョブが中断されないよう、再試行設定は既定値の3のままにしてください。

作業量を減らす​

ステップ3のフィルターは一覧取得の負荷を減らします。最大ファイル経過時間で古いオブジェクトをスキップし、不要なフォルダーを除外し、定義済みフィルターで特定のファイル形式を除外します。巨大なジョブ1つをプレフィックスごとのジョブに分割すると、失敗の切り分けと再実行も容易になります。

RcloneViewでチューニングした同期ジョブを実行

フィルターを変更したら、必ずDry Runを実行し、本番の実行前にどのファイルがコピーまたは削除されるかを正確に確認してください。

はじめに​

  1. rcloneview.comからRcloneViewをダウンロードします。
  2. 遅いジョブを開き、Transferringタブでリクエスト数がボトルネックか確認します。
  3. 転送数とチェッカーを一つずつ調整し、フィルターを追加して範囲を絞ります。
  4. Job Historyで所要時間を比較し、最も良い設定を維持します。

小さく着実な変更が、一晩かかっていた同期を日常的な作業に変えてくれます。


関連ガイド:

対応クラウドプロバイダー

Local Files
WebDAV
FTP
SFTP
HTTP
SMB / CIFS
Google Drive
Google Photos
Google Cloud Storage
OneDrive
Dropbox
Box
MS Azure Blob
MS File Storage
S3 Compatible
Amazon S3
pCloud
Wasabi
Mega
Backblaze B2
Cloudflare R2
Alibaba OSS
Ceph
Swift (OpenStack)
IBM Cloud Object Storage
Oracle Cloud Object Storage
IDrive e2
MinIO
Storj
DigitalOcean Spaces