把 Cloudflare 控制在 5 美元内:意外账单从哪来
Ashish Sharma(@sarmaasis)用 5 美元的 Workers Paid 方案运行多个网站,按产品列出他认为会悄悄推高 Cloudflare 账单的用法,并附 12 项检查清单。
- 适用产品
- WorkersQueuesKVR2D1Durable ObjectsWorkers AIVectorizeBrowser RenderingStreamImages
- 来源
- 作者经验DEV 社区
- 作者
- Ashish Sharma(@sarmaasis)
要点
- 作者写到,他读过的意外账单大多来自少数几个产品做了远超主人预期的工作量;他建议先打开账单通知和用量告警,让失控循环先以邮件出现。
- Workers:静态文件走静态资源,不随用户变化的响应做缓存,在 WAF 层先对机器人限速,别让它们进入 Worker 代码。Cloudflare 当前 Workers 定价页写明:静态资源请求免费且不限量;开启 Workers Caching 后,命中缓存的请求仍按请求计费,CPU 时间只在 Worker 实际运行时计费。
- Queues、KV 与 R2:一条 Queues 消息通常计 3 次操作,批处理不减少次数,每次重试再加 1 次读取;KV 写入不要放在热路径,请求路径里也不要列举键;R2 不要每个请求都调用 HeadObject 或 ListObjects,元数据改存 D1 或 KV。当前 Queues 定价页确认操作按消息而非按批次计数,每次重试计一次读取。
- D1 与 Durable Objects:D1 按扫描行而非返回行计费,常用过滤列要建索引;Durable Object 时长按每个对象 128 MB 计费,应让空闲对象休眠、使用 WebSocket Hibernation API,并留意挂起 I/O 与 alarm。Cloudflare 当前 Durable Objects 定价页写明:空闲且可休眠的对象不计时长;挂起的 I/O 最多可让对象在内存中保留 15 分钟。
- 其他产品:Workers AI 结果要缓存并选能用的最小模型;上线前用自己的向量数量算一遍 Vectorize 查询公式;用完关闭 Browser Rendering 会话,不需要 JavaScript 渲染时改用 fetch;删除不用的 Stream 视频,不生成没人用的 Images 尺寸。作者注明自己没有核实 Cache API 的计费方式。
原始来源
原始来源 · 发布
打开原始来源𝕏 串文首帖:作者称自己多个网站的 Cloudflare 账单为每月 5 美元,大多数意外账单来自少数产品做了超出预计的工作量。
到 𝕏 阅读Ashish Sharma
@sarmaasis · 𝕏 原帖
My Cloudflare bill is $5/month, and I run several sites on it. Most surprise bills come from a few products doing more work than you counted. Here's where the money goes:
串文 2/4:Workers Paid 含 1,000 万次请求和 3,000 万 CPU 毫秒;静态文件走静态资源;一条 Queues 消息计 3 次操作,批处理不减少次数。
到 𝕏 阅读Ashish Sharma
@sarmaasis · 𝕏 原帖
2/4 Workers: $5/mo includes 10M requests and 30M CPU ms. Serve static files as static assets (free and unlimited). Queues: each message costs 3 operations (write, read, delete). 1M included, then $0.40 per million. Batching doesn't reduce the count.
串文 3/4:不要每个请求都写 KV;避免每个请求都调用 R2 HeadObject 或 ListObjects;D1 按扫描行计费,过滤列要建索引。
到 𝕏 阅读Ashish Sharma
@sarmaasis · 𝕏 原帖
3/4 KV writes cost $5 per million after 1M included. Reads are $0.50 per million after 10M. Don't write on every request. R2: 10 GB free, storage $0.015/GB-month, egress free. Avoid HeadObject or ListObjects on every request. D1: you pay for rows scanned, so index the columns…
串文 4/4:让空闲 Durable Objects 休眠,缓存 Workers AI 结果,能用 fetch 就不用 Browser Rendering,并附完整指南与清单链接。
到 𝕏 阅读Ashish Sharma
@sarmaasis · 𝕏 原帖
4/4 Durable Objects: duration is billed at 128 MB per object, so let idle ones hibernate. Workers AI: 10k Neurons/day free, then $0.011 per 1k. Cache the results. Browser Rendering: 10 hours included, then $0.09/hr. Use fetch when you can. Full guide with checklist:…
其他推荐阅读
作者经验Workers +7
岚叔:用 AI 检查 Cloudflare 计费风险的提示词
岚叔(@LufzzLiz)分享六步检查提示词,覆盖账号归属、用量、异常消耗与预算告警;回复补充 alarm 日志、邮件送达检查与独立通知。
Durable Objects
babynarc:Durable Objects alarm 循环,意外账单从 $300 涨到 $500。
@babynarc 称一个他以为已不活跃的旧 Durable Object 里出现 alarm 循环,让他“被坑得很惨”:意外账单从 $300 涨到 $500,停掉后仍在上涨。他在回复 Cloudflare 的 Dane Knecht 与 Kenton Varda 时建议默认在每个 `cf` 结果前附上预算提醒信息。
其他产品
hfcorriez:两个月被 AI 额外消耗 100 多刀,邮件沟通后称已取消。
@hfcorriez 称被 AI 坑了,两个月额外多消耗了 100 多刀。他称发邮件给 Cloudflare 两个来回讲清楚后,费用就被取消了,并附截图显示两笔负数金额(-$31.92、-$75.42),状态为 Fully Applied。