活動合約
查詢期望的欄位
| 欄位 | 型別 | 為什麼存在 |
|---|---|---|
| timestamp_utc | Timestamp | 快取查詢完成時間(UTC)。 |
| cache_key_pattern | Utf8 | 有界模式,例如產品:{id},絕不是原始金鑰。 |
| cache_hit | Boolean | 查詢是否返回快取值。 |
| concurrent_misses | Int64 | 觀察到相同圖案的飛行中填充。 |
| backend_duration_ms | Float64 | 回退持續時間;命中為零。 |
| environment | Utf8 | 部署環境。 |
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 個併發填充和較高的後端成本結合起來。
product:{id}
50%
comparison 31%
feature-flags:{account}
12.5%
comparison 7%
| cache_key_pattern | requests | hits | misses | miss_rate_pct | maximum_concurrent_misses | average_backend_duration_ms |
|---|---|---|---|---|---|---|
| product:{id} | 10 | 5 | 5 | 50 | 31 | 232 |
| feature-flags:{account} | 8 | 7 | 1 | 12.5 | 7 | 75 |
綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。
SQL 是如何工作的
- 1分組鍵是有界應用程式定義的模式,而不是高基數原始快取鍵。
- 2缺失率反映了效率,而最大併發缺失則暴露了突發行為。
- 3後端持續時間僅針對未命中進行平均,因為命中不會執行回退。
需要決定的邊緣情況
- 在查詢時間或填充開始時一致地定義 concurrent_misses。
- 當預計快取變暖時,將冷啟動部署與穩態流量分開。
- 當後端持續時間有重尾時,使用百分位數而不是平均值。
推薦儀表板
- 散點圖:miss_rate_pct 與 maximum_concurrent_misses
- 趨勢:按快取鍵模式劃分的未命中和後端持續時間
- 資料表:後端工作的頂部有界模式
讓查詢範例發揮作用
相關埋點和指南
繼續分析
在真實事件中執行它
建立資料表,調整欄位並儲存結果
免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。