[ PROMPT_NODE_24302 ]
Smart Placement 常见陷阱
[ SKILL_DOCUMENTATION ]
# 智能放置常见问题
## 常见错误
### "INSUFFICIENT_INVOCATIONS"
**原因:** 流量不足,无法进行智能放置分析
**解决方案:**
- 确保 Worker 接收到持续的全球流量
- 等待更长时间(分析最多需要 15 分钟)
- 从多个全球位置发送测试流量
- 检查 Worker 是否有 fetch 事件处理程序
### "UNSUPPORTED_APPLICATION"
**原因:** 智能放置使 Worker 变慢而非变快
**原因:**
- Worker 没有进行后端调用(在边缘运行更快)
- 后端调用已被缓存(到用户的网络延迟更重要)
- 后端服务具有良好的全球分布
- Worker 提供静态资产或 Pages 内容
**解决方案:**
- 禁用智能放置:`{ "placement": { "mode": "off" } }`
- 评估 Worker 是否确实能从智能放置中受益
- 考虑缓存策略以减少后端调用
- 对于 Pages/Assets Workers,使用单独的后端 Worker 并启用智能放置
### "无请求持续时间指标"
**原因:** 未启用智能放置、经过时间不足、流量不足或分析未完成
**解决方案:**
- 确保在配置中启用了智能放置
- 部署后等待 15 分钟以上
- 验证 Worker 是否有足够的流量
- 检查 `placement_status` 是否为 `SUCCESS`
### "cf-placement 响应头缺失"
**原因:** 未启用智能放置、Beta 功能已移除或 Worker 尚未分析
**解决方案:** 验证已启用智能放置,等待分析(15 分钟),检查 Beta 功能是否仍然可用
## Pages/Assets + 智能放置性能下降
**问题:** 当启用智能放置且 `run_worker_first = true` 时,静态资产加载速度慢 2-5 倍。
**原因:** 智能放置会将所有请求(包括 HTML、CSS、JS、图像等静态资产)路由到远程位置。静态内容应始终从离用户最近的边缘提供。
**解决方案:** 拆分为单独的 Workers 或禁用智能放置:
c
// ❌ 错误 - 资产被路由到远离用户的地方
{
"name": "pages-app",
"placement": { "mode": "smart" },
"assets": { "run_worker_first": true }
}
// ✅ 正确 - 资产在边缘,API 已优化
// frontend/wrangler.jsonc
{
"name": "frontend",
"assets": { "run_worker_first": true }
// 无 placement 字段 - 停留在边缘
}
// backend/wrangler.jsonc
{
"name": "backend-api",
"placement": { "mode": "smart" }
}
这是最常见且影响最大的智能放置配置错误之一。
## 单体全栈 Worker
**问题:** 前端和后端逻辑