本文へ移動
Telemetry
インフラストラクチャー SQL レシピ

キャッシュミスとスタンピードのリスクを見つける

ヒット率、バックエンド コスト、および同時ミスを、制限されたキャッシュ キー パターンごとに比較します。

中級者cache_request_eventsレビュー済み 2026-07-28テスト済み アパッチ DataFusion 45.2.0

レビュー者 Telemetry 製品チーム . SQL の互換性、イベント コントラクト、合成出力、および操作上の注意事項. 基準と所有権を確認する

質問に回答しました

どのキャッシュ キー パターンが低いヒット率とバックエンドの同時作業を組み合わせていますか?

命中率だけでも、有害なバーストを隠すことができます。このクエリでは、ミス率に加えて同時ミスとバックエンド期間も維持されるため、チームは通常のキャッシュ チャーンとスタンピード リスクを区別できます。

イベント契約

クエリが期待するフィールド

フィールド種類なぜ存在するのか
timestamp_utcTimestampキャッシュ ルックアップの完了時刻 (UTC)。
cache_key_patternUtf8製品:{id} などの境界パターン。生のキーではありません。
cache_hitBooleanルックアップがキャッシュされた値を返したかどうか。
concurrent_missesInt64同じパターンの飛行中の塗りつぶしが観察されました。
backend_duration_msFloat64フォールバック期間。ヒットの場合はゼロ。
environmentUtf8導入環境。
DataFusion SQL

クエリをコピーする

sql
SELECT
  cache_key_pattern,
  COUNT(*) AS requests,
  SUM(CASE WHEN cache_hit THEN 1 ELSE 0 END) AS hits,
  SUM(CASE WHEN cache_hit THEN 0 ELSE 1 END) AS misses,
  100.0 * SUM(CASE WHEN cache_hit THEN 0 ELSE 1 END)
    / NULLIF(COUNT(*), 0) AS miss_rate_pct,
  MAX(concurrent_misses) AS maximum_concurrent_misses,
  AVG(CASE WHEN cache_hit THEN NULL ELSE backend_duration_ms END)
    AS average_backend_duration_ms
FROM cache_request_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
  AND environment = 'production'
GROUP BY cache_key_pattern
ORDER BY maximum_concurrent_misses DESC, cache_key_pattern;

この読み取り専用クエリは、空の型付きテーブルに対して計画され、実行されます。 アパッチ DataFusion 45.2.0。決定論的なサンプル出力は合成され、個別にレビューされます。フィールド タイプ、しきい値、ビジネス定義を独自のデータと照合して検証します。 テスト方法を読んでください。

クエリ結果

キャッシュミスとスタンピードのインジケーター

製品ルックアップでは、50% のミス率と 31 の同時フィル、およびバックエンドのコストが高くなります。

cache_key_patternrequestshitsmissesmiss_rate_pctmaximum_concurrent_missesaverage_backend_duration_ms
product:{id}10555031232
feature-flags:{account}87112.5775

合成出力例。運用上の決定に使用する前に、独自のイベント スキーマとしきい値に対してクエリを実行します。

Cache miss and stampede indicators: Find Cache Misses and Stampede Risk 結果例からの合成 miss_rate_pct 値の静的チャート
決定論的な出力例のインデックス可能な SVG。記事、ランブック、または出典を明示した設計レビューのためにダウンロードしてください。

例を再現する

パブリックフィクスチャをダウンロードする

JSON バンドルには、型付きイベント コントラクトが含まれています。 reproducible 入力行、正確な SQL、予想される出力、レビューメモ、およびエンジンのバージョン。 CSV には、表示された結果が含まれます。

SQL の仕組み

  1. 1グループ化キーは、カーディナリティの高い生のキャッシュ キーではなく、制限されたアプリケーション定義のパターンです。
  2. 2ミス率は効率を捉え、最大同時ミス数はバースト動作を明らかにします。
  3. 3ヒットではフォールバックが実行されないため、バックエンド期間はミスについてのみ平均化されます。

決定すべきエッジケース

  • ルックアップ時またはフィル開始時に一貫して concurrent_misses を定義します。
  • キャッシュのウォームアップが予想される場合は、コールド スタート デプロイメントを定常状態のトラフィックから分割します。
  • バックエンドの継続時間が重いテールを持つ場合は、平均ではなくパーセンタイルを使用します。

推奨されるダッシュボード

  • 散布図: miss_rate_pct 対 maximum_concurrent_misses
  • 傾向: キャッシュ キー パターン別のミスとバックエンドの継続時間
  • 表: バックエンド作業ごとの上部境界パターン

アラートガイダンス

同時ミスとバックエンド継続時間が同時にマテリアル リクエストの量に増加した場合にアラートを送信します。

アラート設定を読む

レシピを活用する

関連する機器とガイド

分析を続ける

実際のイベントで実行する

テーブルを作成し、フィールドを調整して、結果を保存します

無料で始めて、構造化されたイベントを送信し、クエリ結果をグラフ、共有ダッシュボード ウィジェット、またはアラート入力として使用します。

API キーを取得する