Cloud Storage FUSE でのリスト キャッシュ保存

このドキュメントでは、Cloud Storage FUSE のリスト キャッシュ保存について説明します。これにより、ディレクトリのコンテンツ全体を頻繁にリストするワークロード(処理ジョブの開始時に大量のファイルを反復処理するなど)のディレクトリ リスト オペレーションが高速化され、ディレクトリ トラバーサルの速度が向上します。

リスト キャッシュ保存のメリット

  • ディレクトリ リスト オペレーションの高速化: リスト キャッシュ保存により、ディレクトリのコンテンツを一覧表示するオペレーションのパフォーマンスが向上します。リスト キャッシュ保存が有効になっている場合、ディレクトリの Cloud Storage オブジェクト リストの結果がメモリにキャッシュ保存されます。同じディレクトリのその後のリストは、このキャッシュから直接提供できます。

  • レイテンシの短縮: ローカル キャッシュからリスト結果を提供することで、Cloud Storage はオブジェクト リストを取得するために Cloud Storage へのネットワーク ラウンド トリップを回避し、特に多くのオブジェクトを含むディレクトリやネットワーク レイテンシが高い場合に、ディレクトリ リスト オペレーションのレイテンシを大幅に短縮します。

  • 反復ワークロードのパフォーマンスの向上: 人工知能や機械学習(AI/ML)のトレーニング ジョブ、ビルドプロセス、ファイル同期ツールなど、同じディレクトリを繰り返しスキャンするワークロードでパフォーマンスの向上が見られます。

  • インメモリ ストレージ: リスト キャッシュはページ キャッシュのメモリに保持され、メモリの可用性に基づいてカーネルによって制御されます。これは、マシンのメモリに保持され、Cloud Storage FUSE によって制御される統計情報キャッシュや型キャッシュとは対照的です。

リスト キャッシュ保存を構成する

リスト キャッシュ保存を有効にするには、次のいずれかの方法を使用します。

リスト キャッシュの無効化

リスト キャッシュの無効化を設定するには、次のいずれかの方法で 0 より大きい値を指定します。

  • gcsfuse option: --kernel-list-cache-ttl-secs
  • 構成ファイルのフィールド: file-system:kernel-list-cache-ttl-secs

ディレクトリ リストのレスポンスはカーネルのページ キャッシュに保持され、指定した期間、有効になります。-1 の値を指定すると、Cloud Storage FUSE はリスト キャッシュの有効期限を無効にし、キャッシュから利用可能であれば、キャッシュからリスト レスポンスを返します。値 0 を指定すると、リスト キャッシュが無効になります。

次のステップ