缓存指标
可以通过我们日志浏览器中的 metadata.response.headers.cf_cache_status 键来确定缓存命中。任何对应 HIT、STALE、REVALIDATED 或 UPDATING 的值都被归类为缓存命中。以下示例查询将显示来自 edge_logs 的最常见缓存未命中情况:
🌐 Cache hits can be determined via the metadata.response.headers.cf_cache_status key in our Logs Explorer. Any value that corresponds to either HIT, STALE, REVALIDATED, or UPDATING is categorized as a cache hit.
The following example query will show the top cache misses from the edge_logs:
1select2 r.path as path,3 r.search as search,4 count(id) as count5from6 edge_logs as f7 cross join unnest(f.metadata) as m8 cross join unnest(m.request) as r9 cross join unnest(m.response) as res10 cross join unnest(res.headers) as h11where12 starts_with(r.path, '/storage/v1/object')13 and r.method = 'GET'14 and h.cf_cache_status in ('MISS', 'NONE/UNKNOWN', 'EXPIRED', 'BYPASS', 'DYNAMIC')15group by path, search16order by count desc17limit 50;在日志探索器中试试这个查询。
🌐 Try out this query in the Logs Explorer.
你可以使用以下查询来确定随时间变化的缓存命中率:
🌐 Your cache hit ratio over time can then be determined using the following query:
1select2 timestamp_trunc(timestamp, hour) as timestamp,3 countif(h.cf_cache_status in ('HIT', 'STALE', 'REVALIDATED', 'UPDATING')) / count(f.id) as ratio4from5 edge_logs as f6 cross join unnest(f.metadata) as m7 cross join unnest(m.request) as r8 cross join unnest(m.response) as res9 cross join unnest(res.headers) as h10where starts_with(r.path, '/storage/v1/object') and r.method = 'GET'11group by timestamp12order by timestamp desc;在日志探索器中试试 这个查询。
🌐 Try out this query in the Logs Explorer.