Skip to main content
Weave は、繰り返しのクエリを実行する場合やネットワーク帯域幅が限られている場合のパフォーマンスを向上させるために、サーバー応答のキャッシュを提供します。現在、この機能はデフォルトで無効ですが、今後のリリースでデフォルトの動作になる予定です。

キャッシュを使用するタイミング

サーバー応答のキャッシュは、特に次の場合に有効です。
  • 同じクエリを頻繁に実行する場合。
  • ネットワーク帯域幅が限られている場合。
  • レイテンシーが高い環境で作業している場合。
  • オフラインで開発しており、後で使用するために応答をキャッシュする場合。
この機能は、データセットに対して繰り返し評価を実行する際に特に便利です。Runs 間でデータセットをキャッシュできます。

キャッシュを有効にする

キャッシュを有効にするには、次の環境変数を設定します。

キャッシュの動作

この機能は、サーバーに対する冪等なリクエストをキャッシュします。具体的には、以下をキャッシュします。
  • obj_read
  • table_query
  • table_query_stats
  • refs_read_batch
  • file_content_read

キャッシュサイズとストレージの詳細

キャッシュサイズは WEAVE_SERVER_CACHE_SIZE_LIMIT (バイト単位) で制御されます。実際に使用されるディスク容量は、次の 3 つの要素で構成されます。
  1. 固定サイズの 32KB のチェックサムファイル
  2. 実行中のクライアントごとに最大約 4MB のライトアヘッドログ (WAL) ファイル (プログラムの終了時に自動的に削除されます)
  3. 最小 32KB、最大 WEAVE_SERVER_CACHE_SIZE_LIMIT のメインデータベースファイル
使用されるディスク容量の合計:
  • 実行中: 32KB 以上 + 約 4MB + キャッシュサイズ
  • 終了後: 32KB 以上 + キャッシュサイズ
たとえば、キャッシュ上限が 5MB の場合:
  • 実行中: 最大約 9MB
  • 終了後: 最大約 5MB