Workers 与 Durable Objects 生产性能分析操作指南
Cloudflare 介绍如何通过按需采样和火焰图,定位线上 Workers 与 Durable Objects 中消耗 CPU 或分配内存的代码。
- 适用产品
- WorkersDurable Objects
- 来源
- 官方说明Cloudflare 开发者文档
要点
- CPU profile 用于定位消耗 CPU 的函数。Heap profile 采样捕获期间的内存分配,不是保留内存的堆快照。
- 让已部署版本或目标对象保持活跃,并接收能覆盖目标代码的流量。采样观察已加载的 isolate,不主动调用代码,也不回放历史日志。
- 在 Worker 或 Durable Object 实例的控制台打开 Observability → Flamegraph。选择 CPU 或 Heap、版本及 1–50 秒的采样时长。
- Cloudflare CLI 使用 cf workers versions profile,指定 --worker-id 和 --profile-type cpu 或 heap。latest 指最新创建的版本,不保证已部署。
- 分析 Durable Object 时,指定拥有该命名空间的 Worker,并同时提供 --namespace-id 和 --actor-id。可下载 pprof 数据继续分析。
- 火焰图中较宽的帧表示更多 CPU 时间或内存分配,横轴不表示发生时间。可在 Table 比较 Self 与 Total;TypeScript 项目启用 source maps 以显示可读名称。
原始来源
原始来源 · 最后更新
打开原始来源
其他推荐阅读
D1
mcwangcn:bot 攻击后 D1 费用 $1,300。
@mcwangcn 称 D1 写入曾花费上千美元,并另提 Workers CPU 费用但未给金额。他后来晒出 Cloudflare 账单,称 $3,600 中有 $1,300 来自 bot 攻击后的 D1 费用。
作者经验Workers +1
一段提示词:让 agent 配好 Cloudflare 预算与用量告警
Merill Fernando(@merill)分享一段提示词,让编程 agent 安装 Cloudflare CLI、检查预算告警,并按上月用量添加用量告警,同时列出它为他配置的结果。
作者经验Workers +4
Cloudflare 每月 5 美元,账单却没有跟着封顶
不追高(@Ariella1213)在 X 长文中说明 Workers Paid 的 5 美元是每月最低收费,各产品限制和预算告警都不封顶账户账单,并讨论 denial-of-wallet、写入放大、延迟停机与后台重试如何增加费用。