先确认变化发生在请求路径,而不是访问量
页面浏览量没有变化,并不能说明源站工作量也没有变化。缓存键、绕过条件或响应头只要发生细小改变,同一批访问就可能从边缘节点直接返回,变成每次都进入WordPress,随后再触发人工智能供应商调用。真正需要解释的是:哪一层的请求数量先发生了分叉。
把调查窗口固定为规则发布前后各15分钟,并统一使用UTC。每个窗口至少记录页面请求数、缓存命中率、源站到达数、WordPress人工智能尝试数、供应商请求数和响应状态。若页面请求稳定,而后四项同步上升,问题才值得沿着边缘节点到供应商的方向继续追踪。
制作一对只有缓存结果不同的请求
选择同一URL、同一查询参数、同一语言、同一登录状态和同一设备类型,连续取得一条缓存命中请求与一条未命中请求。不要拿首页匿名访问与后台登录访问比较;Cookie或Authorization头本身就可能让缓存行为不同,最后会得到一个无法归因的差异集合。
为两次请求生成独立的关联编号,并在Cloudflare日志、源站访问日志、WordPress插件日志和供应商用量记录中查找。浏览器里看到的请求编号只是起点;若编号无法跨层传递,就同时保存精确到毫秒的时间、路径、状态码和响应大小,用这些字段完成保守匹配。
逐层填写证据,不凭控制台截图猜测
边缘层重点查看CF-Cache-Status、Age、命中的缓存规则以及构成缓存键的要素。HIT表示由缓存返回;BYPASS、DYNAMIC或MISS需要结合规则和源站响应头判断,不能仅凭一个状态词就认定配置错误。Cloudflare官方文档也明确区分这些状态及其成因。
源站以后记录是否真正进入WordPress、由哪个钩子或REST路由发起供应商调用、是否发生重试,以及供应商是否接收并计量。请勿把API密钥、完整Cookie或用户输入复制进证据图;哈希化关联编号和必要的技术字段已经足够完成路径判断。
| 证据层 | 缓存命中请求 | 未命中请求 | 需要解释的差异 |
|---|---|---|---|
| Cloudflare | CF-Cache-Status=HIT;Age=184 | CF-Cache-Status=BYPASS;Age缺失 | 哪条规则或请求字段触发BYPASS |
| 源站 | 无对应访问 | 状态200;耗时2.8秒 | 请求为何到达源站 |
| WordPress | 无人工智能尝试 | 1次尝试;无重试 | 由哪个路由发起 |
| 供应商 | 无请求 | 1个请求编号;有用量 | 是否与WordPress编号对应 |
用分叉点选择修复对象
如果差异首先出现在缓存键,就检查查询参数、Cookie、主机名或设备字段是否被无意加入;如果两次请求的缓存键相同,却命中不同规则,则检查规则优先级与发布历史;如果边缘层一致而WordPress调用数不同,则转向插件条件、重试或后台任务。修复对象应当是第一个有证据的分叉点,而不是账单里最昂贵的那一层。
一次只改一个因素。例如先恢复原有绕过条件,再重复同一对请求;不要同时调整缓存时间、WordPress超时和供应商模型。多项同时变化即使让费用下降,也无法证明哪个改动有效,更无法安全地把规则推广到其他页面。
把证据图变成可验收的结论
修复后再采集一个15分钟窗口。验收不是缓存命中率看起来变高,而是目标页面恢复预期命中、源站请求随之下降、WordPress尝试与供应商请求保持一一对应,同时登录、购物车或个性化页面没有被错误缓存。任何一项没有通过,都要保留回退方案。
下一步:把同一套关联字段用于日常巡检
最终留下的边缘节点到源站证据图,应包含时间窗口、请求对、首个分叉点、唯一改动、验收结果和负责人。以后费用再次异常时,团队可以沿用同一张图,而不必从四个控制台重新猜测。需要设置WordPress侧的监测字段与保护边界,可继续查看实施指南。
把“Cloudflare缓存命中率骤降:用两次请求定位转向源站的人工智能调用”的边缘节点到源站证据图用于第一次真实安装。免费下载 AI Cost Circuit Breaker,先从 Monitoring 开始,验证预期信号和回退方式后再启用强制控制。