了解 Cloudflare Analytics 如何跟踪 Cloudflare Workers 发出的请求。
当空操作 Worker(仅通过将原始客户端请求代理到源站并代理响应来代理流量的 Worker)在特定路由上运行时,对源站的请求会被计为「子请求」,与初始客户端到边缘的请求分开。因此,除非 Worker 返回静态响应且从不访问源站,否则访客 → 边缘请求和边缘 → 源站请求会分别计入 Analytics 中的请求或带宽计数。子请求不包含在 Cloudflare Analytics(分析) 应用的 Requests(请求) 或 Bandwidth(带宽) 图表中。
在仪表板中,Zone 分析中的数字反映访客流量。即,Zone 分析中显示的请求数(仪表板 Analytics(分析) 选项卡下)是提供给客户端的请求数。
同样,带宽基于发送给客户端的带宽计数,状态码反映返回给客户端的状态码(因此如果子请求收到 500,但你响应 200,状态码明细中将显示 200)。
要了解子请求流量(面向源站的流量)的明细,你可以前往 Cloudflare Analytics(分析) 应用并选择 Workers 选项卡。在 Workers 选项卡下,Service Workers(服务 Worker) 面板下方有按计数、Bandwidth(带宽) 和 Status Codes(状态码) 的 Subrequests(子请求) 明细。这有助于你发现并调试源站错误(例如 500 峰值),并识别缓存命中率以了解流向源站的流量。
为什么我没有 Workers 分析?
- 如果你当前未使用 Workers(未在任何路由或筛选器上部署 Workers),我们将没有信息可展示。
- 如果你的 Worker 向客户端发送静态响应且从未调用
fetch()访问源站,则不会产生子请求,因此所有流量将显示在 Zone 分析中
这会影响计费吗?
不会,Workers 计费基于通过 Worker 的请求。
为什么我看到如此高的缓存命中率?
Worker 提供的请求始终显示为 cached。要了解子请求的准确缓存命中率,请参阅 Analytics(分析) 应用 Workers 分析选项卡下的 Subrequests(子请求) 图表。